예제 #1
0
        public ClientSocket(object stateObject)
        {
            Buffer      = new NeutralBuffer();
            StateObject = stateObject;

            SendArgs            = new SocketAsyncEventArgs();
            SendArgs.Completed += Sent;

            ReceiveArgs = new SocketAsyncEventArgs();
            ReceiveArgs.SetBuffer(Buffer.ReceiveBuffer, 0, Buffer.ReceiveBuffer.Length);
            ReceiveArgs.Completed += Received;
            ReceiveArgs.UserToken  = this;
        }
예제 #2
0
        public ClientSocket(int bufferSize, object stateObject = null)
        {
            Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
            {
                NoDelay             = true,
                Blocking            = false,
                UseOnlyOverlappedIO = true
            };
            Buffer = new NeutralBuffer(bufferSize);

            ReceiveArgs            = new SocketAsyncEventArgs();
            ReceiveArgs.Completed += Completed;
            ReceiveArgs.SetBuffer(Buffer.ReceiveBuffer);
            ReceiveArgs.UserToken = this;

            SendArgs            = new SocketAsyncEventArgs();
            SendArgs.Completed += Completed;
            SendArgs.SetBuffer(Buffer.SendBuffer);
            SendArgs.UserToken = this;

            StateObject = stateObject;
        }