0 / 0 / 0
Регистрация: 22.02.2010
Сообщений: 9
1

Возможно ли реализовать механизм тайм-аутов с использованием протокола TCP/IP

04.04.2010, 22:13. Показов 1384. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать механизм тайм-аутов с использованием протокола TCP/IP на С++.
Нашел кое-какую информацию для протокола IPX, там это делается с помощью функций
IPXScheduleIPXEvent()
IPXCancelEvent()
хз из какой библиотеки эти функции берутся...
Может есть что-нибудь такое и для TCP/IP?

Добавлено через 9 минут
Эти функции оказывается из библитеки NetWare C Interface for DOS фирмы Novell
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2010, 22:13
Ответы с готовыми решениями:

Задание тайм-аутов при работе с Com-портом
Длина символьного массива, принимаемого из буфера коммуникационного порта = 255. Учитывая...

лог протокола TCP/IPv4
Суть проблемы: есть старый корч, еще наверное на 98-й винде (судя по иерархии папок). винда...

TCP/IP современный стандарт протокола
Добрый вечер! На практике сказали почитать о "TCP/IP современный стандарт протокола". Тут имеется...

Настройка параметров протокола TCP
Скажите, можно ли отключить отправку подтверждений (ack), генерируемые протоколом TCP. Либо как то...

2
Эксперт С++
3211 / 1459 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
05.04.2010, 00:37 2
Цитата Сообщение от ind.1.iko Посмотреть сообщение
Нужно реализовать механизм тайм-аутов с использованием протокола TCP/IP на С++.
опиши подробно, что ты хочешь получить?
0
0 / 0 / 0
Регистрация: 22.02.2010
Сообщений: 9
05.04.2010, 09:33  [ТС] 3
Хочу получить вот это, только под Windows и для TCP/IP
РЕАЛИЗАЦИЯ МЕХАНИЗМА ТАЙМ-АУТОВ С
ИСПОЛЬЗОВАНИЕМ ПРОТОКОЛА IPX

Цель работы: изучить функции IPXScheduleIPXEvent и
IPXCancelEvent протокола IPX для планирования и отмены собы-
тий, приобрести навыки использования данных функций при раз-
работке сетевых приложений (для реализации механизмов тайм-
аутов коммуникационных протоколов).

Порядок выполнения работы

1. Изучить программный интерфейс функций
IPXScheduleIPXEvent - ПЛАНИРОВАТЬ СОБЫТИЕ и
IPXCancelEvent - ОТМЕНИТЬ СОБЫТИЕ.
2. Изучить структуру блока управления событием (блока
ECB).
3. Разработать на языке программирования высокого уровня
(Паскаль, Си или Си++) программы:
а) для планирования тайм-аута через определенный интервал
времени;
б) для планирования тайм-аута и его отмены.
4. Произвести эксперимент, заключающийся в планировании
тайм-аута и его отмене.
5. Оформить отчет о проделанной работе.

Основные сведения
Тайм-аут - это ситуация, имеющая место в том случае, когда
какой-то процесс ожидает либо наступления какого-нибудь внеш-
него события, либо окончания предварительно заданного интерва-
ла времени, и период ожидания истекает раньше, чем это внешнее
событие произойдет. Например, если процесс пересылает сообще-
ние и не обнаруживает до конца предварительно установленного
интервала времени никакого подтверждения приема, то он может
предпринять соответствующие меры, такие, как повторение пере-
дачи сообщения. В глагольной форме этот английский термин
(timeout) означает "превышать лимит времени". (см. Толковый сло-
варь по вычислительным системам / Под ред.
В.Иллингуорта,Э.Л.Глейзера, И.К.Пайла. - М.:Машиностроение,
1991. - 560 с.)
Механизм тайм-аутов заключается в определении предельных
временных интервалов ожидания какого-либо события и назначе-
ния определенных действий при истечении этого интервала, на-
пример, вызова процедур восстановления. Механизм тайм-аутов
является одним из основных при восстановлении после ошибок в
коммуникационных протоколах.
Под временем тайм-аута (иногда называемым просто тайм-
аутом) будем понимать временной интервал, на протяжении кото-
рого система будет ожидать совершения какого-либо события.
Ожидание системы может быть завершено двумя путями: либо в
результате истечения времени тайм-аута (естественное окончание),
либо путем отмены ожидания (принудительное окончание). Для
реализации механизма тайм-аутов в протоколе IPX определены
следующие функции: IPXScheduleIPXEvent и IPXCancelEvent.

Функция IPXScheduleIPXEvent

Данная функция планирует событие IPX. Интерфейс функции
IPXScheduleIPXEvent определен в библиотеке функций NetWare C
Interface следующим образом:
void IPXScheduleIPXEvent(WORD timeUnits, ECB
*eventControlBlock);
Параметры:
timeUnits - интервал времени;
eventControlBlock - указатель на блок ECB.
Функция IPXScheduleIPXEvent передает драйверу протокола
IPX время задержки и адрес блока ECB для планирования события,
определяющего тайм-аут. Затем функция возвращает управление
вызывающей прикладной программе. В это время IPX пытается
спланировать событие. Параметр timeDelay определяет время ожи-
дания (в шагах таймера) до того, как произойдет запланированное
событие. Он должен быть установлен в диапазоне от 0 до 65535
(0000h и FFFFh). Каждый интервал представляет собой один шаг
таймера IBM PC, который приблизительно равен 1/18 части секун-
ды. Это позволяет планировать событие вперед до одного часа.
Прикладная программа может вызывать данную функцию для пе-
репланирования блока ECB, предварительно подвергнувшегося
планированию. Это единственная ситуация, в которой допустимо
передавать IPX (AES) блок ECB, который все еще используется.
Поле InUseFlag устанавливается как величина (FDh), в то время
как AES (Асинхронный планировщик событий) управляет IPX-
ECB. Подпрограмма ESR также может вызывать эту функцию.
Прикладная программа никогда не должна использовать данную
функцию для передачи адреса блока ECB, который используется
IPX в это время для работы с пакетами.
Интерфейс функции IPXScheduleIPXEvent в библиотеке
NetWare C Interface, адаптированной для языка Паскаль, определя-
ется таким образом:
procedure IPXScheduleIPXEvent(timeDelay:Word; var theECB);
Низкоуровневый интерфейс функции IPXScheduleIPXEvent
определяется следующим образом:
Ia aoiaa: BX = 05h
AX = A?aiy caaa?aeee a oeeao oaeia?a;
ES:SI = Oeacaoaeu ia aeie ECB.
Ia auoiaa: ?aaeno?u ia eniieuco?ony



Функция IPXCancelEvent

Данная функция отменяет событие, определенное блоком ECB.
Интерфейс функции IPXCancelEvent определен в библиотеке
функций NetWare C Interface следующим образом:
int IPXCancelEvent(ECB *eventControlBlock);
Параметры: eventControlBlock - указатель на блок ECB.
Возвращаемые значения:
00h - успешное выполнение:
F9h - ECB не может быть отменен;
FCh - событие отменено;
FFh - ECB не используется.
Отменяемый блок ECB может контролировать такие действия,
как отправка или ожидание пакета, планирование или переплани-
рование.
Интерфейс функции IPXCancelEvent в библиотеке NetWare C
Interface, адаптированной для языка Паскаль, определяется таким
образом:
function IPXCancelEvent(var theECB): Word;
Низкоуровневый интерфейс функции IPXCancelEvent оп-
ределяется следующим образом:
На входе: BX = 06h;
ES:SI = Указатель на блок ECB
На выходе: AL = Код завершения.



Методические указания

Необходимо разработать две программы. Первая программа
организует тайм-аут, запускает его и после окончания тайм-аута
выводит диагностическое сообщение об его окончании. Вторая
программа строится на основе первой. Она организует тайм-аут,
запускает его с возможностью отмены тайм-аута при нажатии ка-
кой-либо клавиши (см. функции keypressed и readkey языка Borland
Pascal, а также функции kbhit и getch языка Borland C). Должны
выводиться сообщения о естественном или принудительном окон-
чании тайм-аута.
Перед работой с функциями IPXScheduleIPXEvent и
IPXCancelEvent необходимо заполнить соответствующие поля бло-
ка ECB. При работе с библиотекой NetWare C Interface при орга-
низации тайм-аутов рекомендуется заполнять также поле
SocketNumber блока ECB. При этом сокет SocketNumber должен
быть открыт с использованием функции IPXOpenSocket.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2010, 09:33
Помогаю со студенческими работами здесь

IPTABLES - правило запрета TCP протокола
Добрый день всем! Ломают игровой сервер (работающий по UDP) через известную программу мониторинга...

Изменение свойств протокола TCP/IPv4
Хочется написать простенькую программу, которая будет изменять свойства протокола TCP/IPv4 по...

Изменить свойства протокола TCP/IP. Отказано в доступе
Купил usb точку доступа wi-fi (Asus USB-N13). Веб интерфейса как я понял у нее нет, есть только...

Реализация протокола MODBUS TCP в Simatic Step 7
Нужно написать функциональный блок, в котором будет формироваться заголовок нужного формата и при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru