Лабораторная работа
Основы технологии сокетов
Категория: | Лабораторная работа |
Дисциплина: | Компьютерные сети |
Город: | Беларусь, Минск |
Учебное заведение: | БНТУ, ФИТР |
Стоимость работы: | 4 руб. |
Оценка: | 10 |
Объем страниц: | 7 |
Год сдачи: | 2020 |
Дата публикации: | 01.06.2021 |
* Кроме файла с работой, также есть архив с дополнительными файлами.
Описание дополнительных файлов:
Исходный код программы
Фрагменты для ознакомления
Лабораторная работа № 5
ОСНОВЫ ТЕХНОЛОГИИ СОКЕТОВ
Цель работы:
Изучить:
- понятие сокета, типы сокетов TCP/IP;
- принципы реализации архитектуры клиент-сервер на основе интерфейса сокетов;
- основные классы и методы .NET Framework для разработки сетевых приложений с использованием Winsock.
Постановка задачи:
1. Изучить методические указания к лабораторной работе, материалы лекций и рекомендуемую литературу.
2. Разработать консольное клиент-серверное приложение, демонстрирующее взаимодействие на основе потоковых сокетов.
3. Разработать консольное клиент-серверное приложение, демонстрирующее взаимодействие на основе дейтаграммных сокетов.
Ход выполнения работы:
Листинг клиентской части приложения:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace TCPClient
{
class TCPCLIENT
{
// TCP/IP располагают номера динамически назначаемых портов в диапазоне значений между 1024 и 5000
private const int port = 11000;
private const int SIZE = 1024;
static void Main()
{
try
{
// Устанавливаем удаленную точку для сокета
Console.WriteLine("Клиент запущен)");
// Разрешает DNS-имя узла или IP-адрес в экземпляр IPHostEntry.
IPHostEntry ipHost = Dns.Resolve("localhost");
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint ipEnd = new IPEndPoint(ipAddr, port);
Socket s1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// Соединяем сокет с удаленной точкой
s1.Connect(ipEnd);
String byteClient = "Hello Server" + "<The End>";
byte[] byteSend = Encoding.ASCII.GetBytes(byteClient);
// Отправляем данные через сокет
s1.Send(byteSend);
byte[] byteRec = new byte[SIZE]; // размер буфера сообщений от сервера
// Получаем ответ от сервера
int len = s1.Receive(byteRec);
Console.WriteLine("От сервера полученно{0} ", Encoding.ASCII.GetString(byteRec, 0, len));
s1.Shutdown(SocketShutdown.Both);
s1.Close();
}
catch ( Exception e )
{
Console.WriteLine(e.ToString());
}
}
}
}
Блок-схема:

Листинг серверной части приложения.
Блок-схема:

Скриншоты результатов:


Дополнительное задание 1

Дополнительное задание 2

Вывод:
Изучили понятие сокеты и типы сокетов TCP/IP. А также принципы реал изации архитектуры клиент-сервер на основе интерфейса сокетов и основные классы, и методы .NET Framework для разработки сетевых приложений с использованием Winsock.
272
0