Как правильно повторно подключить QWebSocket после сбоя сети? ⇐ C++
-
Anonymous
Как правильно повторно подключить QWebSocket после сбоя сети?
Я пишу приложение на C++ в Ubuntu 22.04, которое использует клиент QWebSocket для получения данных с сервера. Все работает нормально, но я стараюсь обеспечить правильное переподключение. Когда я разрываю TCP-соединение с tcpkill портом 1234 и пытаюсь повторно подключиться, я не получаю никакого трафика. Я просматриваю трафик с помощью Wireshark и не вижу HTTP-рукопожатия после повторного подключения, только TCP-рукопожатие и ничего больше. Когда я перезапускаю приложение, все работает нормально.
Я стараюсь:
[*]websock.open(QUrl(url)); [*]websock.abort(); вебсокок.закрыть(); функции [*]удалить websocket и снова создать новый класс websocket [*]очень большой тайм-аут (около 600 секунд) [*]подключаться к серверу с помощью другой программы, когда мои программы выходят из строя - другая программа работает нормально.
Ничего не помогло, трафик после такого переподключения не приходит.
Что я могу сделать, чтобы правильно восстановить соединение?
Я пишу приложение на C++ в Ubuntu 22.04, которое использует клиент QWebSocket для получения данных с сервера. Все работает нормально, но я стараюсь обеспечить правильное переподключение. Когда я разрываю TCP-соединение с tcpkill портом 1234 и пытаюсь повторно подключиться, я не получаю никакого трафика. Я просматриваю трафик с помощью Wireshark и не вижу HTTP-рукопожатия после повторного подключения, только TCP-рукопожатие и ничего больше. Когда я перезапускаю приложение, все работает нормально.
Я стараюсь:
[*]websock.open(QUrl(url)); [*]websock.abort(); вебсокок.закрыть(); функции [*]удалить websocket и снова создать новый класс websocket [*]очень большой тайм-аут (около 600 секунд) [*]подключаться к серверу с помощью другой программы, когда мои программы выходят из строя - другая программа работает нормально.
Ничего не помогло, трафик после такого переподключения не приходит.
Что я могу сделать, чтобы правильно восстановить соединение?
Мобильная версия