zencd
@zencd

Поможет ли WebSocket преодолеть несимметричность доступности хостов при двухстороннем соединении?

Задача: организовать такое общение: 1) клиент инициирует соединение с сервером; 2) далее сервер шлет уведомления клиенту; 3) пока клиент не скажет прекратить.

Проблема: клиент сидит за NAT'ом, и порты у него на входящие соединения могут быть закрыты, а вот сервер в этом отношении всегда открыт и может быть заранее как нужно настроен. То есть взаимообмен HTTP-сообщениями - первое что мне приходит в голову - выглядит не очень подходящим (бомбить сервер poll'ами тоже не хочется).

Вопрос: способен ли один лишь переход на WebSocket решить обозначенную проблему?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
barker
@barker
WebSocket -- это на транспортном уровне keepalive-tcp (от клиента к серверу), так что в вашем случае это, конечно же, решение проблемы. Есть и другие способы типа упомянутого лонгполла, server sent events и т.д.

Это то что касается веба, хотя из вопроса не очевидно что речь именно о вебе. Но в таком случае не очень понятно было бы в чём проблема, при открытом сервере вообще любой способ с постоянным соединением от клиента к серверу подойдёт (обычные tcp-соединения, например).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы