electron使用grpc与go服务端通信?

目前我已实现electron与go的通信:

  • proto定义, rpc SetCfg (ConfigRequest) returns (Empty) {}
  • go服务端定义, func (s *server) SetCfg(ctx context.Context, r *pb.ConfigRequest) (*pb.Empty, error)
  • preload中定义, 如 setCfg: (k, v) => ipcRenderer.send("set_config", k, v)
  • 主进程定义,如

    •   grpc_client.SetCfg(
            { key: k, value: v },
            function (err, response) {}
        )
  • 渲染端调用,window.electronAPI?.setCfg(k, v)

居然需要整整4个步骤!

我想直接从渲染端到go,貌似有 grpc-web 这么个东西,使用 HTTP/2 协议进行通信,但教程都说浏览器不支持需要代理服务器中转……

请问我得到的信息是正确的吗?electron能打破这个限制吗?

谢谢

阅读 387
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏