![](/img/trans.png)
[英]C# binary serialization tries to serialize objects that are not in the scope of the object
[英]C# UDP Object Binary Serialization with large objects
我正在编写一个同时利用TCP和UDP来通过互联网传输序列化对象的网络库。
库(简化)分为客户端和服务器。
在编写TCP元素时,我没有遇到任何麻烦。 每次我想发送一个序列化对象时,我只是在对象本身之前发送该传入对象的大小,并等到NetworkStream有足够的字节排队。
但是,编写UDP服务器有点困难。 我有个问题:
做的时候:
data = udpClient.Receive(ref sender);
我不确定在服务器端会发生什么。 在第一个例子中,我将假设没有数据丢失或错误地订购。 但是,如果我序列化的对象被拆分为多个数据包,并且来自多个客户端,会发生什么? 例如,如果这两个事件同时发生:
那么我会按此顺序(或接近足够)接收这样的东西吗?
如果是这样,我应该只为每个客户端存储我收到的数据,直到我认为我有足够的数据,然后尝试反序列化它?
谢谢
当你添加零件订购和拆分时,你在重塑TCP的道路上还有很长的路要走 - 但这样做是自己而不是使用多年来来之不易的经验。
从根本上说,它听起来就像UDP是不是真的适合你想要做什么。 这是绝对的要求吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.