Тайм-аут для SDLNet_TCP_Recv? - PullRequest
2 голосов
/ 05 ноября 2019

Есть ли способ отменить вызов SDLNet_TCP_Recv через некоторое время, когда не приходит ответа? Или есть альтернативы этой функции, которые поддерживают опцию тайм-аута?

1 Ответ

3 голосов
/ 05 ноября 2019

Создайте набор сокетов с SDLNet_AllocSocketSet() & и добавьте ваш TCPsocket к нему с SDLNet_AddSocket(). Затем вы можете использовать SDLNet_CheckSockets() с таймаутом для ожидания сетевой активности.

В зависимости от возвращаемого значения вы можете затем использовать SDLNet_SocketReady(), чтобы убедиться, чтоSDLNet_TCP_Recv() вызов не блокируется.

...