目前我已实现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能打破这个限制吗?
谢谢