示例#1
0
 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;
 }
示例#2
0
 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;
 }
示例#3
0
        static void OnReadComplete(object sender, SocketAsyncEventArgs socketArgs)
        {
            ReadAsyncEventArgs socketArgsEx = (ReadAsyncEventArgs)socketArgs;

            socketArgsEx.Transport.HandleReadComplete(socketArgsEx.Args, false, false);
        }