- 已编辑
今天更新了 Proto2CS 后,好像反序列化有些问题:客户端发送一个空List, 服务端接收到的是 null。如果客户端发送的 List 里有数据,则服务端接收到的正常。
Proto定义:
message C2R_Test // IRequest
{
int32 RpcId = 1;
repeated int32 list = 2;
}
客户端发送消息:
response = (R2C_Test) await session.Call(new C2R_Test() { list = new List<int>()});
服务端代码:
[MessageHandler(SceneType.Realm)]
public class C2R_TestHandler: AMRpcHandler<C2R_Test, R2C_Test>
{
protected override async ETTask Run(Session session, C2R_Test request, R2C_Test response, Action reply)
{
if (request.list == null)
{
Log.Info("C2R_TestHandler is null");
}
reply();
await ETTask.CompletedTask;
}
}
服务端接收到的 list 为 null。