关于 grpc

2018-03-12 19:02:53 +08:00
 trys1
已知 grpc 支持很多语言,现在想请教大家,js (注意不是 node.js)有办法使用 grpc 吗?
我用某后端语言实现一个使用 grpc 的服务端,然后想用 js 跟这个服务端交互可以实现吗?
grpc 官方没有 js 版的客户端的理由是什么?这种方式不适合吗?
3677 次点击
所在节点    编程
5 条回复
cyhone
2018-03-13 13:06:58 +08:00
对 grpc 没有深入的研究,但是看楼主的意思是想通过浏览器端的 js 与后端 grpc 的 server 进行交互,首先浏览器端 js 是不支持 socket 操作的,和后端交互的只有 http 的方式,所以用 grpc 在后端建立一个 Http server 就可以了。

话说回来在,这种 rpc 框架适用场景是内网多服务器之间的交互,而楼主想到实现的是浏览器端 js 访问,是属于外网交互,这种只能通过 http server 来进行。
trys1
2018-03-13 22:09:37 +08:00
我的需求是这样没错。
但是 grpc 本身不就是基于 http2 的吗?
像 thrift 就有 js 版的客户端,但是我现在由于某原因只能使用 grpc 不能使用 thrift,只是不明白 grpc 官方没有 js 客户端的原因
timonwong
2018-03-15 15:03:28 +08:00
并不是没有: grpc-web: https://github.com/improbable-eng/grpc-web

然而,stream 一般就不要想了
trys1
2018-03-15 20:03:13 +08:00
@timonwong 我说的“没有”指的是 grpc.io 官方没有。


这种第三方实现的毕竟不够完美,如你所说 stream 不行
jerry
2018-04-03 13:36:20 +08:00
可以试试,不过我也没用过 https://github.com/grpc-ecosystem/grpc-gateway

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437382

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX