V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trys1
V2EX  ›  编程

关于 grpc

  •  
  •   trys1 · 2018-03-12 19:02:53 +08:00 via Android · 3815 次点击
    这是一个创建于 2455 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已知 grpc 支持很多语言,现在想请教大家,js (注意不是 node.js)有办法使用 grpc 吗?
    我用某后端语言实现一个使用 grpc 的服务端,然后想用 js 跟这个服务端交互可以实现吗?
    grpc 官方没有 js 版的客户端的理由是什么?这种方式不适合吗?
    5 条回复    2018-04-03 13:36:20 +08:00
    cyhone
        1
    cyhone  
       2018-03-13 13:06:58 +08:00
    对 grpc 没有深入的研究,但是看楼主的意思是想通过浏览器端的 js 与后端 grpc 的 server 进行交互,首先浏览器端 js 是不支持 socket 操作的,和后端交互的只有 http 的方式,所以用 grpc 在后端建立一个 Http server 就可以了。

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

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


    这种第三方实现的毕竟不够完美,如你所说 stream 不行
    jerry
        5
    jerry  
       2018-04-03 13:36:20 +08:00
    可以试试,不过我也没用过 https://github.com/grpc-ecosystem/grpc-gateway
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:57 · PVG 02:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.