日期:2014-05-19  浏览次数:20775 次

请问C#的socket编程时候如何一个一个的接收数据包
我需要分析单个的数据包,但通过socket连接服务器后,从服务器非发送的多个数据包用socket.Receive接收时总是一股脑全存放在一个byte[]中了,难道非得自己断句吗?如果是动态分析那可就难办了,该怎样解决呢?

socket=new   Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)

这是我的socket创建句柄,是在这里改吗?请高手帮忙看一下....


------解决方案--------------------
你服务器上发过来的包应该有头的,也就是说一个包的开始几个Byte应该把它所在的这个包的大小和起始终了都描述清楚. 如果没有这个头,包之间就很难分开了.