Skip to content

Курс "Сети и телекоммуникации"

Notifications You must be signed in to change notification settings

Neprincessa/UDP_messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Простейший UPD - мессенджер.

Выполнила студентка группы Б17-505 Худоярова Анастасия

Задание 3б

В данном задании был разработан простейший udp мессенджер, поддерживающий работу режимах unicast, broadcast, multicast.
Обмен пакетами происходит запуском двух скриптов и установкой надлежащих параметров. Ниже представлены примеры работы для всех трех режимов.

unicast

unicast
unicast
Пример общения:
commun

broadcast

broadcast
broadcast
Пример общения:
broadcast
Максимальный размер дейтаграммы, которую можно отправить:
212992

Получено командой:

print("Datagram size: ", sock.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF))

Задание 4а

В данном задании выполнена пересылка multicast-сообщений.

multicast

multicast
multicast
Пример общения:
multicast

Замыкание multicast - трафика на себя командой:

sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 1)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 0)

Изменение TTL производится путем изменения константы, затем TTL учитывается при инициализации опции мультикаста и добавлении в группу.

sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, MULTICAST_TTL)
req = struct.pack("4sl", socket.inet_aton(UDP_IP_SENDER), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, req)

About

Курс "Сети и телекоммуникации"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages