Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ограничение recv

332
14 мая 2010 года
Valiant
416 / / 27.09.2004
Подскажите как ограничить по времени выполнение функции, если ей ничего не предают?
14
14 мая 2010 года
Phodopus
3.3K / / 19.06.2008
Закрыть сокет по истечении таймаута?
332
14 мая 2010 года
Valiant
416 / / 27.09.2004
Вот именно этого делать то и не надо.
Надо просто собрать весь мусор от предыдущей сессии.
14
14 мая 2010 года
Phodopus
3.3K / / 19.06.2008
Какой сессии? Собираетесь начать новый обмен не закрывая сокета? Сокеты-то хоть какие - TCP, SOCK_STREAM? Озвучьте тогда задачу более полно.
399
14 мая 2010 года
KIV
432 / / 20.01.2009
Насколько я понял он хочет, чтобы если recv долго не получает данных, то управление возвращалось его программе и он мог совершать другие действия.
332
17 мая 2010 года
Valiant
416 / / 27.09.2004
Цитата: KIV
Насколько я понял он хочет, чтобы если recv долго не получает данных, то управление возвращалось его программе и он мог совершать другие действия.



Абсолютно верно!

Проблема в следующем: я подключаюсь к конвертеру RS-232->Ethernet. Устройство (назовём его УА) которое подключено к конвертеру выкидывает данные в конвертер, которые я успешно читаю по ТСР порту. Всё читается нормально до тех пор пока соединение не рвётся из-за проблем сети, тогда в конвертере остаётся мусор. Не было бы никаких проблем если бы мне с УА не надо было бы обмениваться служебной информацией. УА не начнёт отдавать данные пока не произойдёт обмена СИ. Собственно алгоритм я вижу такой:
1. Подключаюсь к порту;
2. Читаю порт;
2а. Если что то есть собираю мусор;
2б. Если пусто иду в пункт 3;
3. Обмен служебной информацией;
4. Приём данных;

Потому и вопрос: как ограничить по времени recv?

332
17 мая 2010 года
Valiant
416 / / 27.09.2004
всем спасибо реализовал другим путём
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог