Тайм-аут в программировании сокета - PullRequest
1 голос
/ 08 августа 2010

Я пишу клиент-серверную программу на c ++ в linux. Мне нужна функциональность на моем сервере, чтобы, когда сервер ждал ответа от клиента, он не ожидал бесконечно. Но если ответ не получен, скажем, в течение 30 секунд от клиента, он должен отключить клиента. Есть ли встроенная функция? Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 08 августа 2010

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

1 голос
/ 08 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...