Тайм-аут в программировании сокета

Я пишу программу клиент-сервер в C++ в Linux. Я хочу функциональность в своем сервере, что, когда сервер ожидает некоторого ответа от клиента, это не должно ожидать неограниченно долго. Но если никакой ответ не получен, говорят в 30 secs от клиента, это должно разъединить клиент. Есть ли любая встроенная функция. Помогите.

1
задан user349146 8 August 2010 в 05:14
поделиться

2 ответа

Функция select () позволяет вам ждать события от одного из набора данных сокетов. Он также имеет значение тайм-аута, поэтому он вернется, если в течение этого времени не произойдет никаких событий.

1
ответ дан 2 September 2019 в 22:21
поделиться

Или, если вы не хотите перепроектировать весь сервер, взгляните на setsockopt () с опцией SO_TIMEOUT. Не работает на всех платформах, в том числе на некоторых неожиданных, на которых вам нужно использовать select ().

1
ответ дан 2 September 2019 в 22:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: