- •Содержание
- •Предисловие
- •Лабораторная работа №1
- •Цель работы
- •Методические указания
- •Общая информация о протоколах
- •Стек протоколов Интернета
- •Сетевое оборудование
- •Физическая среда передачи
- •Принцип взаимодействия прикладной программы с системным программным обеспечением
- •Анализ структуры локальной сети факультета пми
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №2
- •Цель работы
- •Методические указания
- •Описание функций работы с сокетами
- •Методы, которые реализуют api-интерфейс сокетов
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа №3
- •Цель работы
- •Методические указания
- •Потоки управления
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Идентификация страницы
- •Взаимодействие типа клиент/сервер
- •Передача документов Web и протокол http
- •Архитектура программного обеспечения браузера
- •Кэширование в Web-браузерах
- •Поддержка кэширования протоколом http
- •Альтернативные протоколы передачи
- •Основные типы документов Web
- •Преимущества и недостатки документов каждого типа
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа № 5
- •Цель работы
- •Методические указания Передача фреймов по сети
- •Способы адресации
- •Широковещательная рассылка
- •Групповая рассылка
- •Определение содержимого фрейма
- •Заголовки фрейма и его формат
- •Формат фрейма Ethernet
- •Фреймы, не обеспечивающие автоматическое распознавание типа
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Цель работы
- •Методические указания
- •Основы протокола icmp
- •Реализация
- •Реализация с использованием Windows api
- •Задание к лабораторной работе
- •Стандарт ieee 802.11 и его расширение 802.11b/g
- •Режимы работы 802.11
- •Физический уровень 802.11
- •Метод fhss
- •Метод dsss
- •Расширение стандарта 802.11
- •Канальный (Data Link) уровень 802.11
- •Подключение к сети
- •Поддержка потоковых данных
- •Безопасность
- •Построение Wi-Fi
- •Что нужно учитывать, при построении wlan
- •Архитектуры
- •Вопросы безопасности
- •Проектирование и реализация аппаратного и программного обеспечения Аппаратное обеспечение терминального класса №208б
- •Настройки клиента и сервера для различных ос
- •Работа с базой данных, содержащей mac-адреса
- •Исследование уровня сигнала на территории факультета пми
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Список литературы
- •Приложение а Пример api-интерфейса прикладного
- •Пример кода эхо-сервера
- •Пример кода клиента службы эхо-повтора
- •Приложение б Пример api-интерфейса прикладного
- •Класс Server
- •Класс Client
- •Модуль transform
- •Пример кода эхо-сервера
- •Пример кода клиента службы эхо-повтора
Пример кода эхо-сервера
""" Server receive one string from client and send client it invertion.
Server begin to waiting for queies from clients on press key <Active>"""
import server
import string
print "Sever test"
# Create server
sr = server.Server()
end_fl = 1
while end_fl:
# Receive data from client and send a reply
if sr.is_connect() == 1:
sr.printc("TRY TO RECEIVE DATA")
datarecv = sr.recv()
if datarecv != -1:
sr.printc(datarecv)
if datarecv == str("//END"):
end_fl = 0
lst = map(None, datarecv)
lst.reverse()
datasend = string.join(lst, "")
if sr.send(datasend) <= 0:
sr.printc("DATA SEND FAILD")
sr.shutdown_connection()
else:
sr.printc("DATA RECEIVE FAILD")
sr.shutdown_connection()
else:
sr.printc("NO CONNECTION!!!")
if end_fl:
sr.await_contact()
sr.printc("SERVER: GOOD BYE")
Пример кода клиента службы эхо-повтора
""" Client send one string to server and receive from server it invertion.
Client connect to server on press key <Connect>"""
import client
print "Client test"
# Create client
cln = client.Client()
# Output invitation and read data to send server
cln.printc("PLEASE, INPUT SEND DATA INTO ENTRY FIELD THEN PRESS <CONNECT>:")
cln.wait_event()
datasend = cln.readc()
# Send data to server and receive a reply from it
if cln.is_connect() == 1:
cln.printc("TRY TO SEND MESSAGE:")
cln.printc("\t"+datasend)
if cln.send(datasend) > 0:
datarecv = cln.recv()
if datarecv != -1:
cln.printc(datarecv)
else:
cln.printc("DATA RECEIVE FAILED")
cln.shutdown_connection()
cln.printc("SHUTDOWN CONNECTION")
else:
cln.printc("SEND DATA FAILED")
else:
cln.printc("NO CONNECTION!!!")
cln.printc("CLIENT: GOOD BYE")