Xen*_*ate 3 c# sockets serialization
我想为我最终将要制作的游戏构建一个服务器/客户端引擎.
在规划时,我发现自己陷入了一个方面:通过网络发送对象.
我对客户端/服务器的目标是:
但是,我不知道如何通过网络套接字发送序列化数据.发送字符串很简单...您可以简单地将终结符字符串附加到结尾并等待接收.我不知道你怎么能做与对象相当的事情; 所以任何想法/帮助/教程将不胜感激.
谢谢.
我有偏见(作为作者),但protobuf-net将是一个很好的解决方案:
特别是,SerializeWithLengthPrefix
和DeserializeWithLengthPrefix
(等)非常适合套接字使用,因为它会为您处理消息的分段.如果需要,您还可以使用此处的变体(以及非通用API)发送任何一系列消息,并根据您认为的预定义数字识别消息类型.
这样,库就可以完全避免将对象放到线上.唯一的关键点是你对"任何可序列化对象"的定义 - 只要客户端/服务器就所涉及的消息类型达成一致,它就没问题 - 但"任何"都有点棘手.
如果您有一个示例模型(它不一定是您的"真实"模型),请随意添加它,我将展示如何以这种方式使用它.
归档时间: |
|
查看次数: |
754 次 |
最近记录: |