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
。 那麼它是最大限度,我們可以閱讀或我做錯了什麼?