0
因此,我有一個異步套接字設置,但是當我讀取數據並不是所有的接收。有時候大部分數據都會被接收,其他時間則不會。然後它掛在我的程序的一部分上,因爲它沒有收到解析/處理的數據。不接收所有數據與異步套接字
代碼:
public static void OnArrival(IAsyncResult ar)
{
connection = (Socket)ar.AsyncState;
string data;
try
{
int bytesRead = connection.EndReceive(ar);
if (Sock.IsConnected(connection))
{
connection.BeginReceive(BufferData, 0, BufferData.Length, SocketFlags.None, new AsyncCallback(OnArrival), connection);
}
else
{
connection.Close();
}
if (bytesRead > 0)
{
data = System.Text.Encoding.ASCII.GetString(BufferData, 0, bytesRead);
HandleData.ProcessData(connection, data);
}
}
catch (Exception ex)
{
Logger.WriteError(ex.ToString());
connection.Close();
}
}
當HandleData.ProcessData被調用時,不是所有的數據被接收。 任何想法?