收到数据包后刷新缓冲区
Flush the buffer after receiving packets
我正在使用以下代码从工具接收 TCP 数据包。
while(socket.Connected)
{
var buffer = new byte[4096];
int receiveLength = socket.Receive(buffer);
if (receiveLength != 0)
{
byte[] response= new byte[4096];
ProcessPacketData(buffer, out response);
socket.Send(resposne);
}
//Sleep(100);
}
使用此代码时,我面临的问题是,对于 socket.Receive() 函数,缓冲区没有被刷新。每次调用 socket.Receive(buffer) 时,新数据包都会附加缓冲区中包含的旧数据包。我想避免这种情况。有解决办法吗?
Receive
没有收到数据包。它接收大于零字节的任意数量的字节。使用 return 值 receiveLength
找出实际收到的金额并仅处理该金额。
我正在使用以下代码从工具接收 TCP 数据包。
while(socket.Connected)
{
var buffer = new byte[4096];
int receiveLength = socket.Receive(buffer);
if (receiveLength != 0)
{
byte[] response= new byte[4096];
ProcessPacketData(buffer, out response);
socket.Send(resposne);
}
//Sleep(100);
}
使用此代码时,我面临的问题是,对于 socket.Receive() 函数,缓冲区没有被刷新。每次调用 socket.Receive(buffer) 时,新数据包都会附加缓冲区中包含的旧数据包。我想避免这种情况。有解决办法吗?
Receive
没有收到数据包。它接收大于零字节的任意数量的字节。使用 return 值 receiveLength
找出实际收到的金额并仅处理该金额。