Ejemplo n.º 1
0
        public TcpServer(IPacketPropagator propagator, int backlog = 5, bool multipleConnections = true,
                         bool nagleAlgo = true, bool partialReceives = false)
        {
            Contract.Requires(propagator != null);
            Contract.Requires(backlog > 0);

            _propagator = propagator;
            MaximumPendingConnections = backlog;
            AllowMultipleConnections  = multipleConnections;
            NoDelayAlgorithm          = nagleAlgo;
            AllowPartialReceives      = partialReceives;
        }
Ejemplo n.º 2
0
        public TcpServer(IPacketPropagator propagator, int backlog = 5, bool multipleConnections = true,
            bool nagleAlgo = true, bool partialReceives = false)
        {
            Contract.Requires(propagator != null);
            Contract.Requires(backlog > 0);

            _propagator = propagator;
            MaximumPendingConnections = backlog;
            AllowMultipleConnections = multipleConnections;
            NoDelayAlgorithm = nagleAlgo;
            AllowPartialReceives = partialReceives;
        }
Ejemplo n.º 3
0
        internal TcpClient(Socket socket, TcpServer server, IPacketPropagator propagator)
        {
            Contract.Requires(socket != null);
            Contract.Requires(server != null);
            Contract.Requires(propagator != null);
            Contract.Ensures(Server == server);

            _socket        = socket;
            _eventArgs     = SocketAsyncEventArgsPool.Acquire();
            _headerBuffer  = new byte[propagator.IncomingHeaderLength];
            _receiveBuffer = new byte[InitialReceiveBufferSize]; // Start out with a 2 ^ 16 - 1 buffer.
            _propagator    = propagator;
            Server         = server;
            UserData       = new Bag();

            // Start receiving packets...
            Receive();

            Contract.Assume(Server == server);
        }