это беспокоит меня почти два дня.
Я пишу клиент Bayeux. Я использую WebSocket-client библиотека из Jetty и подключение к серверу Faye.
Я открываю WS-соединение с сервером (все локальное) с запросом рукопожатия:
{"channel":"/meta/handshake","supportedConnectionTypes":["long-polling","callback-polling","websocket"],"version":"1.0"}
Клиент немедленно получает ответ на рукопожатие:
{"channel":"/meta/handshake","successful":true,"version":"1.0","supportedConnectionTypes":["long-polling","cross-origin-long-polling","callback-polling","websocket","eventsource","in-process"],"clientId":"l8xhgf0t5gikcukcknhr5npfx11s5w9","advice":{"reconnect":"retry","interval":0,"timeout":45000}}
Затем клиент отправляет запрос на подключение:
{"clientId":"l8xhgf0t5gikcukcknhr5npfx11s5w9","connectionType":"websocket","channel":"/meta/connect"}
Затем сервер зависает на 45 секунд (значение времени ожидания), а затем отправляет этот ответ:
{"clientId":"l8xhgf0t5gikcukcknhr5npfx11s5w9","channel":"/meta/connect","successful":true,"advice":{"reconnect":"retry","interval":0,"timeout":45000}}
последнее сообщение журнала на сервере Faye перед зависанием: Ping "l8xhgf0t5gikcukcknhr5npfx11s5w9", 45
Но я никогда не получаю кадр Ping на стороне клиента. Я понятия не имею, почему сервер зависает на эти 45 секунд, но мне нужно решить эту проблему. Кто-нибудь из вас видел это раньше? Любая помощь/предложения/подсказки высоко ценится :)