Socket中接受tcp数据包,怎么让他receive的时候,就接一个数据包?
各位兄弟姐妹:
我在用socket进行tcp接数据包的时候,已经得到了数据包,但是每次都是数据包一起接受,由于数据包都是不一样的,而且内容长度又没有什么规律性,所以我无法把每一个包给区分出来,但是因为这是视频数据包,它每个数据包的包头都必须去掉,剩下的才是视频数据。
我想到一个解决办法,因为数据包之间没有任何规律性,所以能不能让tcp像udp那样,每一次receive的时候,就只接受一个数据包。这样我就好处理啦!但就是不知道怎么样才能让tcp receive的时候只接受一个数据包呢?
另外各位有什么更好的想法,指点下我啊,谢谢啦!
附上:我这里的tcp接受数据包的代码如下:
socket= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(new IPEndPoint(IPAddress.Parse(codeIP), tcpPort));
byte[] msg = new byte[10240];
//this.socket.Receive(msg);
socket.Receive(msg);