Exemplo n.º 1
0
        private static async Task Receive(Client client)
        {
            await Task.Run(() =>
            {
                client.Name = TcpSocketHelper.ReceiveString(client.Socket);


                string message = $"{client.Name} connected!";
                Console.WriteLine($"{DateTime.Now}: {message}");

                SendToEveryone(message, client);

                while (true)
                {
                    try
                    {
                        string str = TcpSocketHelper.ReceiveString(client.Socket);
                        Console.WriteLine($"{DateTime.Now}: {client.Name}: {str}");

                        message = $"{client.Name}: {str}";

                        SendToEveryone(message, client);
                    }
                    catch (Exception e)
                    {
                        message = $"{client.Name} disconnected!";

                        Console.WriteLine($"{DateTime.Now}: {message}");

                        Connections.Remove(client);

                        SendToEveryone(message, client);

                        client.Socket.Shutdown(SocketShutdown.Both);
                        client.Socket.Close();
                        return;
                    }
                }
            });
        }
Exemplo n.º 2
0
        private static async Task Listen()
        {
            await Task.Run((() =>
            {
                try
                {
                    while (true)
                    {
                        var str = TcpSocketHelper.ReceiveString(socket);

                        Console.WriteLine(str);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Close();
                }
            }));
        }