BeginReceive执行异步接受数据的判断问题
BeginReceive主要使用异步接收,一般都是Socket.BeginReceive(buffer, 0, 1024, 0,new AsyncCallback(Read_Callback), Socket);
由于需要指定接收数据的大小,如这里的1024字节,但在连续接收数据时,如果对方每次发送的一帧数据是1536字节,那么本地第一次将接收第一帧的1024个字节,第二次将接收第一帧的512字节和第二帧的512字节,第三次接收第二帧的1024个字节数据。
那么如何对第一帧数据和第二帧数据进行区分呢!特别是每次发送过来一帧数据长度不确定的话,就感觉更难区分了!
请问大家是怎么处理的呢?有没向UDPCLIENT.BEGINRECEIVE那样,不需要给定接收区长度,不需要自己去判断每一帧的?