Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант 18

Состав работы

material.view.file_icon 676C63E0-2225-4746-991B-0EC883289BAB.docx

Необходимые программы

Работа представляет собой файл, который можно открыть в программе:
  • Microsoft Word

Описание

Практическое занятие. Сетевые приложения

Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python.

Сценарий: Сокеты. Передача данных через UNIX сокеты

1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки:

#!/usr/bin/env python3
# net_serv_ipc.py
import os
import socket

SOCKET_FILE = './echo.socket'
if os.path.exists(SOCKET_FILE):
os.remove(SOCKET_FILE)
print("Открываем UNIX сокет...")
server = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
server.bind(SOCKET_FILE)
print("Слушаем...")
while True:
datagram = server.recv(1024)
if not datagram:
break
else:
print("-" * 20)
print(datagram.decode('utf-8'))
if "DONE" == datagram.decode('utf-8'):
break
print("-" * 20)
print("Выключение...")
server.close()
os.remove(SOCKET_FILE)
print("Выполнено")

#!/usr/bin/env python3
# net_client_ipc.py
import os
import socket
SOCKET_FILE = './echo.socket'
print("Подключение...")
if os.path.exists(SOCKET_FILE):
client = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
client.connect(SOCKET_FILE)
print("Выполнено.")
print("Ctrl-C что бы выйти.")
print("Отправьте 'DONE' что бы выключить сервер.")
while True:
try:
x = input("> ") # for py2 use raw_input
if "" != x:
print("ОТПРАВЛЕНО: %s" % x)
client.send(x.encode('utf-8'))
if "DONE" == x:
print("Выключение.")
break
except KeyboardInterrupt as k:
print("Выключение.")
break
client.close()
else:
print("Не могу соединиться!")
print("Выполнено")


2. Запустите net_serv_ipc.py в первой консоли, а net_client_ipc.py во второй. Проанализируйте результат.

3. Переписать приложения net_serv_ipc.py и net_client_ipc.py для организации передачи данных с помощью службы SOCK_STREAM. Организовать двусторонний обмен данными.


Сценарий: Сокеты. Передача данных через INET сокеты

1. Создайте два скрипта: net_serv_tcp.py и net_client_tcp.py в директории python_labs своей домашней директории. Введите эти строки:

#!/usr/bin/env python3
# net_serv_tcp.py
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 5018
BUFFER_SIZE = 20 # Normally 1024, but we want fast response
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
conn, addr = s.accept()
print("Connection address: {}".format(addr))
while 1:
data = conn.recv(BUFFER_SIZE)
if not data:
break
print("received data: ",data.decode('utf-8'))
conn.send(data) # echo
conn.close()

#!/usr/bin/env python3
# net_client_tcp.py
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 5018
BUFFER_SIZE = 1024
MESSAGE = "Hello, World!"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE.encode('utf-8'))
data = s.recv(BUFFER_SIZE)
s.close()
print("received data: ",data.decode('utf-8'))

2. Запустите net_serv_tcp.py в первой консоли, а net_client_tcp.py во второй. Проанализируйте результат.

3. Создайте два скрипта: net_serv_udp.py и net_client_udp.py в директории python_labs своей домашней директории. Введите эти строки:

#!/usr/bin/env python3
# net_serv_udp.py
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5018
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
print("received message: ",data.decode('utf-8'))
if "Hello, World!" == data.decode('utf-8'):
break
#!/usr/bin/env python3
# net_client_udp.py
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5018
MESSAGE = "Hello, World!"
print("UDP target IP: {}".format(UDP_IP))
print("UDP target port: {}".format(UDP_PORT))
print("message: {}".format(MESSAGE))
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.sendto(MESSAGE.encode('utf-8'), (UDP_IP, UDP_PORT))

4. Запустите net_serv_udp.py в первой консоли, а net_client_udp.py во второй. Проанализируйте результат.

5. Написать приложения, симулирующие передачу данных по протоколу HTTP с помощью INET сокетов и протокола TCP. Организовать двухсторонний обмен данными между клиентом и сервером.
Для обращения к серверу подойдёт вариант для работы с TCP из предыдущих заданий. Изменим код для обращения к сайту, например, ya.ru.
Для того, чтобы сервер ответил, необходимо передать запрос, как делали это в 1 лабораторной работе.

TCP_PORT = 50xx = 5018
UDP_PORT = 50xx = 5018,
где xx=18 - номер варианта.

По каждому выполненному пункту приведены краткие выводы.

Дополнительная информация

Без замечаний.
2020 год
Преподаватель: Колосовский А.В.
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант 23
"Практическое занятие. Сетевые приложения" Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #!/usr/bin/env python3 # net_serv_ipc.py import os import socket SOCKET_FILE = \\\'./echo.socket\\\' if os.path.exists(SOCKET_FILE): os.remove(SOCKET
User Roma967 : 8 мая 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №05
"Практическое занятие. Сетевые приложения" Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #!/usr/bin/env python3 # net_serv_ipc.py import os import socket SOCKET_FILE = \'./echo.socket\' if os.path.exists(SOCKET_FILE): os.remove(SOCKET_FIL
User SibGOODy : 15 апреля 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №24
"Практическое занятие. Сетевые приложения" Содержание Цель работы 3 Сценарий: Сокеты. Передача данных через UNIX сокеты. 3 Сценарий: Сокеты. Передача данных через INET сокеты. 7 Цель работы Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #!
User SibGOODy : 15 апреля 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №15
"Практическое занятие. Сетевые приложения" Содержание Цель работы 3 Сценарий: Сокеты. Передача данных через UNIX сокеты. 3 Сценарий: Сокеты. Передача данных через INET сокеты. 7 Цель работы Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #
User SibGOODy : 15 апреля 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №12
"Практическое занятие. Сетевые приложения" Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #!/usr/bin/env python3 # net_serv_ipc.py import os import socket SOCKET_FILE = \'./echo.socket\' if os.path.exists(SOCKET_FILE): os.remove(SOCKET_FIL
User SibGOODy : 15 апреля 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №20
"Практическое занятие. Сетевые приложения" Содержание Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты 1. Создайте два скрипта: net_serv_ipc.py и net_client_ipc.py в директории python_labs своей домашней директории. Введите эти строки: #!/usr/bin/env python3 # net_serv_ipc.py import os import socket SOCKET_FILE = \'./echo.socket\' if os.path.exists(SOCKET_FILE): os.remov
User SibGOODy : 15 апреля 2020
350 руб.
promo
Лабораторная работа №2 по дисциплине «Программное обеспечение инфокоммуникационных технологий». Вариант общий.
Практическое занятие. Сетевые приложения Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации Python. Сценарий: Сокеты. Передача данных через UNIX сокеты. Сценарий: Сокеты. Передача данных через INET сокеты.
User ДО Сибгути : 21 ноября 2018
400 руб.
promo
Программное обеспечение инфокоммуникационных технологий.
Исходные данные: No 5 Amin, дб 18 Amax, дб 1 wn 1,4 fв, кГц 17 Тип АФНЧ Б Вариант 05 а) привести структурную схему АЦП с передискретизацией и описать назначение каждого элемента этой схемы; б) по данным таблицы 1 в соответствии с вариантом задания, No ва-рианта определяется двумя последними цифрами студенческого билета (либо последней, если больше 24-х) необходимо выбрать данные для рас-чета аналогового фильтра нижних частот (АФНЧ). Расчет характеристик фильтра ведется по заданным значениям
User sasha1977 : 22 ноября 2020
400 руб.
Коллективизация
ВВЕДЕНИЕ Тридцатые годы XX века отличаются большой уплотнённостью событий, быстрым переходом одного состояния в другое, своеобразием контекста в мировой политике. Этот период вобрал в себя беспрецедентную по темпам и размерам реконструкцию промышленности и срывы производственных программ начала и конца десятилетия, широкомасштабное перераспределение собственности в сельском хозяйстве, наступление на кулака, голод и частичную стабилизацию экономики в середине 30-х годов, маргинализацию общества
User Slolka : 3 сентября 2013
10 руб.
Сербское подворье в Москве
Ни одна славянская страна не вызывала в России столько сочувствия, сколько православная Сербия. Судьба сравнительно небольшого славянского племени, имевшего многовековую драматическую историю и стойко державшегося православия, была сродни русской судьбе. Русские как никто могли оценить духовный подвиг и самопожертвование единоверного народа. Связи москвичей с сербами имели давнюю традицию. В Большом Успенском соборе покоятся останки серба (по ряду источников - болгарина. - Ред.) - митрополита Мо
User Aronitue9 : 25 августа 2013
5 руб.
ТЭС (ОТС) Лабораторные работы №№ 1 - 5. Вариант 04
Лабораторная работа №1: Исследование помехоустойчивости дискретных видов модуляции Лабораторная работа №2: Исследование помехоустойчивости методов передачи и приёма дискретных сигналов на АРМ СПИ. Лабораторная работа №3:Исследование согласованного фильтра дискретных сигналов известной формы Лабораторная работа №4:Исследование обнаруживающей и исправляющей способности циклических кодов. Лабораторная работа №5:Исследование эффективности устройств защиты от ошибок в дискретном канале передачи инфор
User MN : 19 августа 2014
250 руб.
Контрольная работа №1 по дисциплине: Приборы СВЧ и ОД. Вариант 05. 6-й семестр.
Задача No1 В двухрезонаторном клистроном усилителе, работавшем в оптимальном режиме, изменили один из параметров. Требуется определить, как надо изменить другой параметр, чтобы получить ту же выходную мощность или как при этом изменится режим усилителя. n=5. Увеличили зазор (расстояние между сетками) первого резонатора в (1+0,1m) раз. Во сколько раз надо изменить мощность возбуждения, чтобы получить ту же выходную мощность, если первоначально Q1=π /2. Буква m в заданиях соответствует предпоследн
User ua9zct : 26 ноября 2017
100 руб.
up Наверх