Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Разработка и описание алгоритмов работы




Состав и назначение

В состав программного обеспечения, разработанного в соответствии с заданием входят:

- программа, выполняющая функции сервера;

- две прграммы, выполняющие функции клиентов.

Программа – сервер должна выполнять следующие функции:

- подключать библиотеку для работы с сокетами;

- принимать и обеспечивать запросы на соединение с программами – клиентами через сокеты;

- посылать сообщения программам клиентам;

- принимать в асинхронном режиме информацию от программ-клиентов и выводить ее в рабочее окно;

- отключать выбранного клиента;

Программа-клиент должна выполнять следующие функции:

- подключать библиотеку для работы с сокетами;

- обеспечивать соединение с программой-сервером;

- выполнять подготовку информации для передачи программе-серверу;

- принимать и выводить в рабочее окно сообщения от программы-сервера;

- сообщать пользователю об отключении сервера.

Описание программы-сервера

Описание переменных

Описание переменных, которые используются в программе дано в таблице 4.2.

Таблица 4.2- Описание переменных и констант программы-сервер

Исходный текст Описание
char szBuf[512]; Буфер для подготовки данных
DWORD cbWritten; Количество записанных данных
static HWND hwndEdit; Дескриптор поля редактирования текста
TCHAR mess[2048]; Буфер для подготовки сообщений
TCHAR* m_mess = mess; Ссылка на буфер подготовки сообщений
#define SERV_PORT 5000 Порт сервера
#define WSA_ACCEPT (WM_USER+0) Код сообщения на подключение клиента
#define WSA_NETEVENT (WM_USER+1) Код сообщения о сетевом событии
WSADATA wsaData; Сведения о конкр. реализации интерфейса Windows Sockets
WORD wVersionRequested = MAKEWORD(1, 1); Номер требуемой версии Windows Sockets (не ниже)
int err=0; Код ошибки
SOCKET srv_socket=INVALID_SOCKET; Сокет сервера
int ClientNum = -1; Номер текущего клиента
SOCKET sock[2]; Сокеты клиентов
SOCKADDR_IN sockaddr[2]; Адреса клиентов

 

Процедура создания сокета

 

Процедурой выполняются следующие функции:

- проверка на повторность задания сокета;

- создание структуры данных для сокета и получения дескриптора сокета;

- задание типа и значения адреса и номера порта для сокета;

- связывание сокета с адресными данными;

- установка режима прослушивания сети для выявления попыток соединения с сокетом;

- установка режима асинхронного взаимодействия с сокетом.

Схема алгоритма работы процедуры представлена на рисунке 4.3.

Проверка на повторность задания сокета выполняется блоками 2,3 (рисунок 4.3) и операторами 117-121 приложения И.

В процедуре создается потоковый сокет и задается структура для хранения адресных данных (блоки 5-7, рисунок 4.3 и операторы 122-128 приложения И.

Для сокета определяется Интернет семейство адресов. IP адрес устанавливается по умолчанию – обычно это значение адреса локального хоста 127.0.0.1. Номер порта выбран из области свободно используемых значений и равен 5000. С помощью функции htons порядок байтов этого значения преобразуется в сетевой порядок байтов – первым идет старший байт. Эти действия реализуются блоками 9-10 на рисунке 4.3 и операторами 129-133 приложения И.

 

Рисунок 4.3 – Схема алгоритма процедуры создание сокета на стороне сервера

Связывание сокета с адресными данными реализуются блоками 11-14 на рисунке 4.3 и операторами 134 -140 приложения И.

Установка режима прослушивания сети для выявления попыток соединения с сокетом реализуются блоками 15-17 на рисунке 4.3 и операторами 141 -147 приложения И.

Установка режима асинхронного взаимодействия с сокетом реализуются блоками 18-21 на рисунке 4.3 и операторами 148 -158 приложения И.

 





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 418 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2358 - | 2156 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.