Can I work with gRPC in C? Because I can refactor my server, that is made
in C, to communicate whit NodeJs client.

Any ideas?

On Thu, Aug 18, 2016 at 1:41 PM, Michael Lumish <[email protected]> wrote:

> 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.
>>
>


-- 
--
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/CAMFKE3_-0AJK6wxqYov_e%2B8O_T%2BYJR9fyZ5tAPgo1ON2H3gFTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to