/// <summary> /// 接受数据 /// </summary> /// <param name="result"></param> public override void AcceptAsyncCallback(IAsyncResult result) { AccepDone.Set(); var listener = (Socket)result.AsyncState; var callbackSocket = listener.EndAccept(result); var socketState = new SocketState(callbackSocket); SocketError errorCode; callbackSocket.BeginReceive(socketState.Buffer, 0, socketState.BufferSize, SocketFlags.None, out errorCode, ReceiveAsyncCallback, socketState); if (errorCode != SocketError.Success && errorCode != SocketError.IOPending) { } }
private void Receive(Socket socketClient) { // 构造容器state. var state = new SocketState(socketClient); // 从远程目标接收数据. socketClient.BeginReceive(state.Buffer, 0, state.BufferSize, 0, ReceiveCallback, state); }