SOCKS5 само по себе не определяет тайм-аут для UDP. Но, учитывая, что в UDP нет явного закрытия соединения, такого как TCP, единственный способ «закрыть» соединение UDP - это не отправлять больше данных. Это означает, что для освобождения ресурсов, удерживаемых прокси-сервером SOCKS5, необходимо реализовать какое-то время простоя, после которого соединение закрывается.
На самом деле, глядя на исходный код можно увидеть:
#define UDP_TIMEOUT 60 /* Seconds */
Я не могу найти какой-либо параметр конфигурации, чтобы изменить это время ожидания, поэтому единственный способ изменить его - это, вероятно, изменить исходный код и перекомпилировать.
Большинство протестированных приложений аудио-чата могут нормально работать при прокси на моем сервере SOCKS5, но они прерываются примерно через 60 с ...
"UDP ASSOCIATE" TERMINATED 0 0 60 (36.157.*.*:36314 -> 119.23.*.*:23333)
В сообщении журнала указывается, что связь UDP была прервана через 60 секунд без передачи каких-либо данных, что объясняется временем ожидания 60 секунд. Учитывая, что вы действительно передали аудиоданные в течение этих 60 секунд, я предполагаю, что вы используете RTP + RTCP (как используется в SIP, H.323, XMPP, WebRTC) и что конкретное приложение передало аудиоданные по RTP, но только выделило канал для RTCP, даже не используя его.