Beispiel #1
0
        private void ListenerOnClientConnect(object sender, Socket socket)
        {
            log.Info("New client connected!");
            var client = new ClientConnection(socket);

            client.MessageReceived  += ClientOnMessageReceived;
            client.ClientDisconnect += ClientOnClientDisconnect;

            lock (clientConnections)
            {
                clientConnections.Add(client);
            }

            client.Start();
        }
Beispiel #2
0
        public virtual void OnAccept(IAsyncResult ar)
        {
            try
            {
                Socket newSocket = listenSocket.EndAccept(ar);

                if (newSocket != null)
                {
                    ClientConnection newClient = new ClientConnection(newSocket, new RemoveClientDelegate(this.RemoveClient));
                    clients.Add(newClient);
                    newClient.Start();
                }
            }
            catch {}
            try
            {
                listenSocket.BeginAccept(new AsyncCallback(this.OnAccept), listenSocket);
            }
            catch
            {
                Dispose();
            }
        }
Beispiel #3
0
        public virtual void OnAccept( IAsyncResult ar )
        {
            try
            {
                Socket newSocket = listenSocket.EndAccept( ar );

                if ( newSocket != null )
                {
                    ClientConnection newClient = new ClientConnection( newSocket, new RemoveClientDelegate( this.RemoveClient ) );
                    clients.Add( newClient );
                    newClient.Start();
                }
            }
            catch {}
            try
            {
                listenSocket.BeginAccept( new AsyncCallback( this.OnAccept ), listenSocket );
            }
            catch
            {
                Dispose();
            }
        }