Пример #1
0
 public void Listen(System.Net.IPAddress address, int port, int backlog)
 {
     _listener = new ConnectionListener(_eventBase, new System.Net.IPEndPoint(address, port), (short)backlog);
     _listener.ConnectionAccepted += SocketAccepted;
     _listener.Disable();
     new Thread(EventLoop).Start();
 }
Пример #2
0
 public void Listen(System.Net.IPAddress address, int port, int backlog)
 {
     _listener = new ConnectionListener (_eventBase, new System.Net.IPEndPoint (address, port), (short)backlog);
     _listener.ConnectionAccepted += SocketAccepted;
     _listener.Disable ();
     new Thread (EventLoop).Start ();
 }
Пример #3
0
        void SocketAccepted(IntPtr socket, System.Net.IPEndPoint arg2)
        {
            var osocket = new OarsSocket(socket, this);

            if (_waitingForSockets.Count == 0)
            {
                _acceptedSockets.Enqueue(osocket);
            }
            else
            {
                _waitingForSockets.Dequeue().SetResult(osocket);
            }
            if (_waitingForSockets.Count != 0)
            {
                _listener.Disable();
            }
        }