Пример #1
0
    public TcpServer(int port = 8000)
    {
        Address = OnlineUtility.GetLocalIPV4Address();
        Port    = port;

        socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        instance = this;
    }
Пример #2
0
    void CheckSocketConnection(Client client)
    {
        while (!shutdown && !client.Shutdown)
        {
            if (client.Socket != null)
            {
                bool tmp = false;
                lock (connectedClientsLock)
                {
                    tmp = connectedClients.Contains(client);
                }

                if (tmp && !OnlineUtility.IsConnectedSocket(client.Socket))
                {
                    connectedClients.Remove(client);

                    lock (clientToRemoveQueueLock)
                    {
                        clientToRemoveQueue.Enqueue(client);
                    }
                }
            }
        }
    }