Unity 建议可以通过在 NetworkBehaviour 中覆盖 OnSerialize 来完成更复杂对象的自定义同步。但是,如果您尝试输入超过大约 1500 个字节,NetworkWriter 似乎只是放弃并出错。
在较低级别的上下文中,我希望对网络消息有这种大小限制,并自己将它们分块。不过,HLAPI 并没有真正公开在 OnSerialize 中执行此操作所需的功能;我该如何解决?
Unity 建议可以通过在 NetworkBehaviour 中覆盖 OnSerialize 来完成更复杂对象的自定义同步。但是,如果您尝试输入超过大约 1500 个字节,NetworkWriter 似乎只是放弃并出错。
在较低级别的上下文中,我希望对网络消息有这种大小限制,并自己将它们分块。不过,HLAPI 并没有真正公开在 OnSerialize 中执行此操作所需的功能;我该如何解决?
Unity 5.2.3为 ReliableFragmented QoS 通道添加了数据包队列。切换到这个频道解决了我的问题。
(726466) - Networking: Added support for HLAPI packet queuing on channels using the ReliableFragmented QoS.