Файл: Отчет лабораторной работы Создание клиентсерверного приложения Протокол.docx
Добавлен: 05.12.2023
Просмотров: 66
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Отчет лабораторной работы № 2.Создание клиент-серверного приложения «Протокол».Задание. Создать клиент-серверное приложение со следующим функционалом:
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");int port = 8080;// Создание объекта TcpListenerTcpListener server = new TcpListener(ipAddress, port);// Начало прослушиванияserver.Start();Console.WriteLine("Сервер запущен...");while (true){// Ожидание подключения клиентаTcpClient client = server.AcceptTcpClient();Console.WriteLine("Подключен клиент: {0}", client.Client.RemoteEndPoint);string data = "";string exitCode = "exit";while (data != exitCode){// Получение сообщения от клиентаNetworkStream stream = client.GetStream();int i = stream.Read(bytes, 0, bytes.Length);data = Encoding.UTF8.GetString(bytes, 0, i);Console.WriteLine("Получено сообщение: {0}", data);// Отправка сообщения клиентуbyte[] msg = Encoding.UTF8.GetBytes("Сообщение получено");stream.Write(msg, 0, msg.Length);}// Закрытие соединения с клиентомclient.Close();Console.WriteLine("Соединение закрыто");}}}
-
Клиент подключается к серверу, обменивается с ним сообщениями и отключается по кодовому слову (задать самостоятельно). В это время остальные клиенты ждут своей очереди. -
После завершения обслуживания одного клиента, сервер принимает следующего клиента.
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");int port = 8080;// Создание объекта TcpListenerTcpListener server = new TcpListener(ipAddress, port);// Начало прослушиванияserver.Start();Console.WriteLine("Сервер запущен...");while (true){// Ожидание подключения клиентаTcpClient client = server.AcceptTcpClient();Console.WriteLine("Подключен клиент: {0}", client.Client.RemoteEndPoint);string data = "";string exitCode = "exit";while (data != exitCode){// Получение сообщения от клиентаNetworkStream stream = client.GetStream();int i = stream.Read(bytes, 0, bytes.Length);data = Encoding.UTF8.GetString(bytes, 0, i);Console.WriteLine("Получено сообщение: {0}", data);// Отправка сообщения клиентуbyte[] msg = Encoding.UTF8.GetBytes("Сообщение получено");stream.Write(msg, 0, msg.Length);}// Закрытие соединения с клиентомclient.Close();Console.WriteLine("Соединение закрыто");}}}