Ім'я файлу: ІПЗ_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());

}

}

}

}

}
скачати

© Усі права захищені
написати до нас