0
我使用SocketAsyncEventArgs來構建一個小型的Socket服務器端。但遇到一些問題,當我接受客戶端套接字時,我嘗試使用e.AcceptSocket.ReceiveAsync接收客戶端信息,但我不知道爲什麼它總是對我顯示爲真。 這裏是服務器端:爲什麼e.AcceptSocket.ReceiveAsync是真的
private void ProcessAccept(SocketAsyncEventArgs e)
{
Console.WriteLine("Process Accept!");
if (e.BytesTransferred > 0)
{
Console.WriteLine("client online...");
}
SocketAsyncEventArgs readEventArgs = new SocketAsyncEventArgs();
readEventArgs.AcceptSocket = e.AcceptSocket;
readEventArgs.SetBuffer(new byte[1024], 0, 1024);
readEventArgs.Completed+=readEventArgsIO_Completed;
Boolean willRaiseEvent = e.AcceptSocket.ReceiveAsync(readEventArgs);
if (!willRaiseEvent)
{
this.ProcessReceive(readEventArgs);
}
this.StartAccept(e);
}
我的客戶端只使用連接的方法來連接服務器端和發送信息「Hello服務器」來了。但爲什麼我在這裏總是得到「真實」?
Boolean willRaiseEvent = e.AcceptSocket.ReceiveAsync(readEventArgs);
thx。