Страницу Назад
Поискать другие аналоги этой работы
350 Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №24ID: 209221Дата закачки: 15 Апреля 2020 Продавец: SibGOODy (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word Сдано в учебном заведении: ДО СИБГУТИ Описание: "Практическое занятие. Сетевые приложения" Содержание Цель работы 3 Сценарий: Сокеты. Передача данных через UNIX сокеты. 3 Сценарий: Сокеты. Передача данных через INET сокеты. 7 Цель работы Цель занятия: изучение принципа работы сетевых приложений с помощью языка программирования в телекоммуникации 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 своей домашней директории. Введите эти строки: Внимание: Значение «TCP_PORT = 50XX» принимать равным номеру учетной записи студента (вариант XX=24, т.е. TCP_PORT = 5024). #!/usr/bin/env python3 # net_serv_tcp.py import socket TCP_IP = \\\'127.0.0.1\\\' TCP_PORT = 5024 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 = 5024 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 своей домашней директории. Введите эти строки: Внимание: Значение «UDP_PORT = 50XX» принимать равным номеру учетной записи студента (вариант XX=24, т.е. UDP_PORT = 5024). #!/usr/bin/env python3 # net_serv_udp.py import socket UDP_IP = "127.0.0.1" UDP_PORT = 5024 sock = socket.socket(socket.AF_INET, # Internet socket.SOCK_DGRAM) # UDP sock.bind((UDP_IP, UDP_PORT)) while True: data, addr = sock.recvto(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 = 5024 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. Организовать двухсторонний обмен данными между клиентом и сервером. Комментарии: Зачет без замечаний! Дата сдачи: апрель 2020 г. Преподаватель: Колосовский А.В. Помогу с другим вариантом. Выполняю работы на заказ по различным дисциплинам. E-mail: LRV967@ya.ru Размер файла: 450,2 Кбайт Фаил: ![]() ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:К сожалению, точных предложений нет. Рекомендуем воспользоваться поиском по базе. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Программное обеспечение инфокоммуникационных технологий / Лабораторная работа №2 по дисциплине: Программное обеспечение инфокоммуникационных технологий. Вариант №24
Вход в аккаунт: