public TcpTransport(Socket socket, TcpTransportSettings transportSettings) : base("tcp") { this.socket = socket; this.socket.NoDelay = true; this.socket.SendBufferSize = transportSettings.SendBufferSize; this.socket.ReceiveBufferSize = transportSettings.ReceiveBufferSize; this.localEndPoint = this.socket.LocalEndPoint.ToString(); this.remoteEndPoint = this.socket.RemoteEndPoint.ToString(); this.sendEventArgs = new WriteAsyncEventArgs(transportSettings.SendBufferSize); this.sendEventArgs.Transport = this; this.sendEventArgs.Completed += onWriteComplete; this.receiveEventArgs = new ReadAsyncEventArgs(transportSettings.ReceiveBufferSize); this.receiveEventArgs.Completed += onReadComplete; this.receiveEventArgs.Transport = this; }
public TcpTransport(Socket socket, TcpTransportSettings transportSettings) : base("tcp") { this.socket = socket; this.socket.NoDelay = true; this.socket.SendBufferSize = transportSettings.SendBufferSize; this.socket.ReceiveBufferSize = transportSettings.ReceiveBufferSize; this.localEndPoint = this.socket.LocalEndPoint; this.remoteEndPoint = this.socket.RemoteEndPoint; this.sendEventArgs = new WriteAsyncEventArgs(transportSettings.SendBufferSize); this.sendEventArgs.Transport = this; this.sendEventArgs.Completed += onWriteComplete; this.receiveEventArgs = new ReadAsyncEventArgs(transportSettings.ReceiveBufferSize); this.receiveEventArgs.Completed += onReadComplete; this.receiveEventArgs.Transport = this; }
static void OnReadComplete(object sender, SocketAsyncEventArgs socketArgs) { ReadAsyncEventArgs socketArgsEx = (ReadAsyncEventArgs)socketArgs; socketArgsEx.Transport.HandleReadComplete(socketArgsEx.Args, false, false); }