private void DoReceive() { if (!IsConnected) { return; } if (receiveAsyncEvent == null) { receiveAsyncEvent = new SocketAsyncEventArgs(); receiveAsyncEvent.Completed += OnHandleSocketEvent; receiveAsyncEvent.SetBuffer(new byte[RECEIVE_BUFFER_SIZE], 0, RECEIVE_BUFFER_SIZE); } netHandler.OnOperationLog(NetworkOperations.Receiving, "Start receiving"); try { if (netSocket.ReceiveAsync(receiveAsyncEvent)) { return; } }catch (Exception e) { netHandler.OnOperationLog(NetworkOperations.ReceiveingError, e.Message); } DoDisconnectByError(NetworkDisconnectErrors.DoReceiveError); }