我想序列化一个对象并通过网络发送它。我已经在类和BinaryFormatter上使用ISerializeable属性将其设置为将对象转换为字节。我可以发送对象并在接收端反序列化它。但是,为了确保在尝试重建对象之前拥有整个对象,我想将大小与流一起发送。我想将前几个字节设置为大小,检查接收到的数据何时至少为此固定大小,然后可以读取该数据并获取对象的完整大小。然后,只需等到我收到的数据是对象的大小+固定大小的字节即可。我该如何偏移流中的数据,以便可以发送一个int值以将对象的大小存储为前几个字节,并将对象的大小存储为剩余的字节?
最佳答案
正确的答案是:
SocketPacket socketData = (SocketPacket)asyn.AsyncState;
socketData.currentSocket.EndReceive(asyn);
byte[] data = socketData.dataBuffer;
不是从SocketPacket读取的正确方法
关于c# - C#通过异步套接字连接发送带有序列化对象的对象大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4092495/