Closed puXiaoyi closed 8 years ago
lua sprotodump.lua -cs <your_sproto_file ...> -p <packagename>
你可以在后面添加-p <packagename>
,将会指定生成<packagename>Protocol.cs
,同时对应的sprotoType
命名空间也会添加<packagename>
前缀。
PS: 不过我们现在用的sproto lua版本都不区分client和server了,客户端和服务器用的是同一份sproto协议文件,只是在定义protocol时,说明这个是客户端请求还是服务器推送协议。
你的意思是在同一份sproto协议文件里,约定一些tag是c2s,另一部分是s2c的?
使用的时候类似
SprotoRpc.RpcRequest clientRequest = client.Attach (Protocol.Instance);
服务器推送请求写成
SprotoRpc.RpcRequest serverRequest = server.Attach (Protocol.Instance);
?
客户端如下:
SprotoRpc client = new SprotoRpc (Protocol.Instance);
SprotoRpc.RpcRequest clientRequest = client.Attach (Protocol.Instance);
服务器的话,也是如此。
TestCaseRpc.cs
sproto-Csharp只支持单向RPC吗?这里好像默认client只有type和session的package信息,没有protocol内容。 如果c2s和s2c各有一份协议文件,如云风的sproto项目里的testrpc.ua,怎么来实现? 用sprotodump.lua依次生成的话,Protocol.cs只会生成一份保留后一次的结构。