protobuf-c-rpc and protobuf-rpc are not related to gRPC. Based on your use of ProtoBuf.Rpc.Transport.Xhr, it looks like they are using XML HTTP Requests instead. The C++ gRPC client will not work with one of those servers because it uses a completely different protocol.
On Thu, Aug 18, 2016 at 4:39 AM <[email protected]> wrote: > I have new information about this problem... > > With a little modification on NodeJs code I got this error: > > Modification: > app.get('/have_pswd', function (req, res) { > var serv_req = new My_controller.Void(); > controller_svc.HavePassword(serv_req, function(error, serv_res) { > if (error !== null) throw error; > res.json(serv_res); > }); > }); > > Error: > RangeError: offset is not uint > at checkOffset (buffer.js:580:11) > at SlowBuffer.Buffer.readUInt32LE (buffer.js:642:5) > at null.rpcImpl > (/home/kabloc/work/server_controller/node_modules/protobuf-rpc/index.js:322:39) > at clazz.ServicePrototype.(anonymous function) [as HavePassword] > (/home/kabloc/work/server_controller/node_modules/protobufjs/dist/protobuf.js:4050:38) > at EventEmitter.app.listen.host > (/home/kabloc/work/server_controller/index.js:35:17) > at EventEmitter.emit (events.js:92:17) > at null._onTimeout > (/home/kabloc/work/server_controller/node_modules/protobuf-rpc/index.js:86:50) > at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) > > Somebody have an idea about it? > > > On Wednesday, August 17, 2016 at 3:35:17 PM UTC-3, Kabloc Vacavoa wrote: >> >> OK, Sorry... >> >> Firstly sorry about my English... >> >> I have a project made in C that use protobuf-c-rpc to create a RPC >> procedures, that interfaces with others application in C normally. >> >> Now I need to do an application in NodeJs that uses the same interface, I >> tried by using protobuf-rpc: >> >> <CODE> >> >> var express = require('express'); >> var app = express(); >> var ProtoBuf = require('protobufjs'); >> ProtoBuf.Rpc = require('protobuf-rpc'); >> >> var builder = ProtoBuf.loadProtoFile("ControllerMessage.proto"); >> var My_controller = builder.build('MyPackage'); >> var controller_svc = new ProtoBuf.Rpc(My_controller.Controller, { >> transport: new ProtoBuf.Rpc.Transport.Xhr( {sync: true} ), >> url: 'http://127.0.0.1:5558' >> }); >> >> app.get('/have_pswd', function (req, res) { >> var serv_req = new My_controller.Void(); >> controller_svc.HavePassword(serv_req, function(error, serv_res) { >> if (error !== null) >> return res.status(500).send('error'); >> res.json(serv_res); >> }); >> }); >> >> var server = app.listen(9017, function(){ >> var host = server.address().address; >> var port = server.address().port; >> console.log('Example app listening at http://%s:%s', host, port); >> }); >> >> </CODE> >> >> When I send a GET to localhost:9017/have_pswd, I have a error(500). >> >> >> After that I tried by using grpc++: >> >> protoc --proto_path=. --grpc_out=. --plugin=protoc-gen-grpc=`which >> grpc_cpp_plugin` ControllerMessage.proto >> protoc --proto_path=. --cpp_out=. ControllerMessage.proto >> >> <CODE> >> >> #include <grpc++/grpc++.h> >> >> #include "ControllerMessage.pb.h" >> #include "ControllerMessage.grpc.pb.h" >> >> int main (int argc, char* argv[]) >> { >> std::unique_ptr<MyPackage::Controller::Stub> >> stub(MyPackage::Controller::NewStub( >> grpc::CreateChannel("localhost:5558", >> grpc::InsecureChannelCredentials()))); >> grpc::ClientContext cxt; >> MyPackage::Void req; >> MyPackage::Boolean res; >> >> stub->HavePassword(&cxt, req, &res); >> } >> >> >> </CODE> >> >> And on debug the line "stub->HavePassword(&cxt, req, &res);" make me wait >> forever. >> >> I would like to know what I did wrong... >> >> Thanks... >> >> On Wed, Aug 17, 2016 at 10:51 AM, Nathaniel Manista <[email protected] >> > wrote: >> >>> On Wed, Aug 17, 2016 at 6:13 AM, <[email protected]> wrote: >>> >>>> I worked in a project that implemented a protocol buffers RPC in C >>>> using protobuf-c-rpc and now I'm trying develop a C++ or NodeJs client >>>> using grpc but it not working. >>>> >>> >>> How much more can you share with us about what's not working >>> <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>? >>> -Nathaniel >>> >> >> >> >> -- >> -- >> echo Gur orfg jnl gb cerqvpg gur shgher vf gb vairag vg: -- Nyna Xnl | tr >> N-ZA-Mn-za-m: A-Za-z. >> >> Kabloc Vacavoa >> google.com/profiles/kabloc >> > -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/grpc-io/32e31975-c088-437f-8f27-d5d7a7df7d30%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/32e31975-c088-437f-8f27-d5d7a7df7d30%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAPK2-4eACKnF6MH395aa_biKV7yzZZCVnVLidmG0dwdtvKt_vw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
