Ім'я файлу: ІПЗ_20_Трусь_лаб 1.doc Розширення: doc Розмір: 67кб. Дата: 30.06.2022 скачати Пов'язані файли: ДНЗ КОВІД.docx ХМЕЛЬНИЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ Факультет програмування та комп’ютерних і телекомунікаційних систем Кафедра інженерії програмного забезпечення Лабораторна робота № 1 з дисципліни «Безпека програм і даних» на тему: «Програмування TCP-сокетів.» Виконав: студент 2 курсу, групи ІПЗ-20, варіант 24 ______________ О.І Трусь (підпис) Перевірив: ______________ І. В. Гурман (підпис) Хмельницький – 2022 р. Хід роботи Принцип роботи програми. Програма: Client using System; using System.Net.Sockets; using System.Text; using System.IO; namespace ClientSocketApp { class Program { static void Main(string[] args) { connection: try { TcpClient client = new TcpClient("127.0.0.1", 1302); string messageToSend = (" Oleh "); int byteCount = Encoding.ASCII.GetByteCount(messageToSend + 1); byte[] sendData = Encoding.ASCII.GetBytes(messageToSend); NetworkStream stream = client.GetStream(); stream.Write(sendData, 0, sendData.Length); Console.WriteLine("З'єднання..."); StreamReader sr = new StreamReader(stream); string response = sr.ReadLine(); Console.WriteLine(response); stream.Close(); client.Close(); Console.ReadKey(); } catch (Exception e) { Console.WriteLine("Помилка..."); goto connection; } } } } Server using System; using System.Net.Sockets; using System.Text; using System.IO; namespace ServerSocketApp { class Program { static void Main(string[] args) { TcpListener listener = new TcpListener(System.Net.IPAddress.Any, 1302); listener.Start(); while (true) { Console.WriteLine("Очікування зєднання..."); TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("Клієнт приєднався"); NetworkStream stream = client.GetStream(); StreamReader sr = new StreamReader(client.GetStream()); StreamWriter sw = new StreamWriter(client.GetStream()); try { byte[] buffer = new byte[1024]; stream.Read(buffer, 0, buffer.Length); int recv = 0; foreach (byte b in buffer) { if (b != 0) { recv++; } } string request = Encoding.UTF8.GetString(buffer, 0, recv); Console.WriteLine("Повідомлення: " + request); sw.WriteLine("Trus' Oleh"); sw.Flush(); } catch (Exception e) { Console.WriteLine("Помилка"); sw.WriteLine(e.ToString()); } } } } } |