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_ ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.