/// <summary> /// Called when [receive completed]. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="SocketAsyncEventArgs"/> instance containing the event data.</param> public void OnReceiveCompleted(object sender, SocketAsyncEventArgs e) { TCPSession tcpSession = e.UserToken as TCPSession; if (e.LastOperation == SocketAsyncOperation.Receive) { tcpSession.OnReceive(); return; } else { tcpSession.OnDisconnect(); } }