[英]Data Limitation on send and receive using Binary Formatter (Socket Programming, TCP Client) .net
我正在做一些与C#.net中的套接字编程有关的工作。 因此,如果您要通过套接字发送对象列表(显然以字节为单位),那么接收器将不具有有关列表长度以及应读取多少字节的信息,除非您在发送列表之前先发送有关长度的信息(简单且明显的解决方案)。 但是,如果我使用Binary Formatter,我不必担心大小对吗? 可以使用这种方法发送任意数量的数据吗 , 是否有限制? 限制通过它发送和接收数据。
这是发送数据的一部分
TcpClient client = new System.Net.Sockets.TcpClient(serverip, serverport);
NetworkStream ns = client.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(ns, List<Object>);
这是用于接收数据。
List<Object> list=(List<Object>)formatter.Deserialize(ns);
仅供参考:我已经测试了2百万个以上的对象,并且可以正常工作。 我应该继续使用吗?
使用NetworkStream时,对大小的技术限制为long.MaxValue。 但是您应该考虑以下几点:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.