【发布时间】:2010-12-20 22:45:51
【问题描述】:
我使用 UDP 套接字来发送/接收对象。 我将对象序列化为一个字节数组发送它并用客户端接收它。 但在我收到之前,我必须分配一个字节数组。我必须先完成它,然后再处理 Socket.Receive() 方法数组。 但是我的对象长度可变。我怎样才能发现数组大小?
谢谢
编辑:这里是我的接收方法的示例:
BinaryFormatter bf = new BinaryFormatter();
public Object ReceiveUdpPacket()
{
byte[] objData = new byte[bufferSize];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 0);
EndPoint ep = (EndPoint)ipep;
MemoryStream ms = new MemoryStream();
udpSocket.ReceiveFrom(objData, ref ep);
ms.Write(objData, 0, objData.Length);
ms.Seek(0, SeekOrigin.Begin);
return (Object)bf.Deserialize(ms);
}
【问题讨论】:
-
ReceiveFrom 不返回接收到的字节数?
标签: arrays sockets xna udp byte