示例#1
0
        static void Main(string[] args)
        {
            try
            {
                var connection = new Connection(ConnectionSettings.Host, ConnectionSettings.Port);
                var socket     = connection.GetSocket();
                var backlog    = 1;

                socket.Bind(connection.EndPoint);
                socket.Listen(backlog);

                while (true)
                {
                    Console.WriteLine("Ожидаем соединение через порт {0}", connection.EndPoint);

                    // Программа приостанавливается, ожидая входящее соединение
                    var handler = socket.Accept();

                    // Принимаем данные от клиента
                    var bytes = new byte[1024];
                    var size  = handler.Receive(bytes);
                    var data  = Encoding.UTF8.GetString(bytes, 0, size);

                    // Показываем данные на консоли
                    Console.WriteLine("Полученный текст: {0}", data);
                    Console.WriteLine("\n{0}\n", new string('-', 50));

                    // Отправляем ответ клиенту
                    string reply = "Спасибо за запрос в " + data.Length.ToString() + " символов";

                    var buffer = Encoding.UTF8.GetBytes(reply);
                    handler.Send(buffer);

                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.ReadKey();
            }
        }