Страницу Назад
Поискать другие аналоги этой работы

350

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

ID: 209225
Дата закачки: 15 Апреля 2020
Продавец: SibGOODy (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: 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 своей домашней директории.
Введите эти строки:
Внимание: Значение «TCP_PORT = 50XX» принимать равным номеру учетной записи студента (вариант XX=12, т.е. TCP_PORT = 5012).
#!/usr/bin/env python3
# net_serv_tcp.py
import socket
TCP_IP = \\\'127.0.0.1\\\'
TCP_PORT = 5012
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 = 5012
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=12, т.е. UDP_PORT = 5012).
#!/usr/bin/env python3
# net_serv_udp.py
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5012
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 = 5012
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. Организовать двухсторонний обмен данными между клиентом и сервером.

Комментарии: Зачет без замечаний!
Дата сдачи: июнь 2019 г.
Преподаватель: Колосовский А.В.
Помогу с другим вариантом.

Выполняю работы на заказ по различным дисциплинам.
E-mail: LRV967@ya.ru

Размер файла: 325,1 Кбайт
Фаил: Microsoft Word (.docx)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


        Коментариев: 0


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

К сожалению, точных предложений нет. Рекомендуем воспользоваться поиском по базе.

Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

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

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!