Есть ли способ отменить вызов SDLNet_TCP_Recv через некоторое время, когда не приходит ответа? Или есть альтернативы этой функции, которые поддерживают опцию тайм-аута?
SDLNet_TCP_Recv
Создайте набор сокетов с SDLNet_AllocSocketSet() & и добавьте ваш TCPsocket к нему с SDLNet_AddSocket(). Затем вы можете использовать SDLNet_CheckSockets() с таймаутом для ожидания сетевой активности.
SDLNet_AllocSocketSet()
TCPsocket
SDLNet_AddSocket()
SDLNet_CheckSockets()
В зависимости от возвращаемого значения вы можете затем использовать SDLNet_SocketReady(), чтобы убедиться, чтоSDLNet_TCP_Recv() вызов не блокируется.
SDLNet_SocketReady()
SDLNet_TCP_Recv()