Closed LazyPlanet closed 7 years ago
没太明白你问题的意思。
如果你的意图是使用不同的RPC协议(本身支持sofa和http协议),这是可以扩展的,只需要继承RpcRequest和RpcRequestParser,具体可以参考HTTPRpcRequest和HTTPRpcRequestParser的实现。
如果你的意图是使用自己的C#客户端访问server数据,建议一种办法是直接使用Http协议,负载数据使用json格式或者binary格式的Protobuf数据。
是这样的,我只是想发送个Protocol buff中的Message,不想要Response,咱们这个sofa框架需要写Request和Response吧。我只想Request,至于Response的结果我不想要。不用改底层的rpc_server_message_stream.h的choose_rpc_request_parser()接口吧?
不用,使用时可以直接忽略调用response。定义protobuf服务时,response可以定于为一个空的Message,譬如:
message XXXResponse {
}
这个服务器我倒是知道哈,就是客户端发的时候,如果不合法,你们服务器就给我断开了。我是需要在C#里面构造一个你们认为合法的二进制数据吧。就是我应该发什么格式的二进制数据?我的理解是按照https://github.com/baidu/sofa-pbrpc/wiki/RPC%E5%8D%8F%E8%AE%AE 这个构造,然后发给服务器。不知道对不对?多谢您。
就是我客户端不用官方的C++版本了已经。
如果你想自己实现C#版本的客户端,有几种选择:
好的,多谢了。估计需要使用sofa协议,通过C#构造,或者用你们这个架构通过C#调用C++来完成。 多谢多谢。架构很棒,国内做的非常好的架构了。就是感觉和客户端对接的扩展看样子比较麻烦,不过还好。
多谢鼓励,客户端多语言支持方面确实做得还不够,以后争取支持更多语言
我们现在用的是ACE+Protocol Buffer,但是不是这种RPC,是客户端给服务器发个PB->处理->发PB给客户端,我一直想重新写个ASIO+Protocol Buffer的服务器框架,后来我们老大看到你这个架构,给我们推荐,我就放弃写了。我觉得你这套东西易于理解,扩展方便。对纯 C++的客户端可以直接用了。哈哈。棒。
你好, 我们打算用这套框架做游戏服务器,但是客户端是基于Unity的C#开发,所以想扩展到根据,不同Message不同处理的模式,客户端如果自己重新写,要改RPCDATA吧?多谢。