1
我有一个从套接字读取数据的函数。通过套接字读取的最大数据量
public int getResp(byte[] Buff, ref int rxBytes)//Buff is byte array of length 150000 bytes
{
while (socet.Available < rxBytes)//rxBytes = 150000
{
int socketAvaildata = socet.Available;
Thread.Sleep(1000);
if (socketAvaildata == socet.Available)
break;
}
try
{
//Thread.Sleep(100);
rxBytes = socet.Available;
if (rxBytes > 0)
{
socet.Receive(Buff, rxBytes, 0);
return rxBytes;
}
}
catch (Exception ex)
{
}
return -1;
}
此功能效果很好,当我们要读小data.But当我们要读大量的数据(超过10个字节),它只返回数据的一部分。在dubug模式下,当socet.Available = 65536
时,我已检查控制范围break
。 那么它是最大限度,我们可以阅读或我做错了什么?