LINUX.ORG.RU

слушать socket определенное время

 ,


0

1

Итак, я продолжаю пилить велосипед. Хочу реализовать такую штуку: клиент посылает udp-broadcast пакет, сервер его ловит, и отвечает коннектом на тот адрес, с которого пришел бродкаст-пакет. соответственно, клиент должен ждать (listen) некоторое время ответа от сервера. Как сделать так, чтобы функция listen вызывалась на N секунд? И, если ответа не пришло, повторить udp-бродкаст пакет.

listen - неблокирующий, а потом вызывается select, в параметрах которого указывается прослушиваемый сокет и время ожидания.

grondek ()
Ответ на: комментарий от Andersen

Сдается мне это был бздежь.

У UDP нет коннекта, так что что тебе надо послать broadcast и использовать select на чтение с твоим таймаутом. Примеров в man и google полно.

greek_31 ★★ ()
Ответ на: комментарий от greek_31

ок, я вас понял. но, кажется вы меня не поняли (скорее я неясно выразился). udp используется для бродкаста (1 раз, для нахождения действительного адреса сервера в подсети), потом это соединение закрывается. далее будет использоваться SOCK_STREAM, то есть TCP. скажите, если я порю сейчас чушь.

Andersen ★★ ()

bycicle

bycicle - песня акына (англ. пер.)

d_Artagnan ★★ ()

слушать socket определенное время

Напомнило: «хочу смеяться пять минут!».

bk_ ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.