Вы можете иметь пассивный сокет в апплетах Java, Flash и других плагинах браузера, но в целом это может быть проблематично для общедоступных веб-приложений.
Прежде всего, будет трудно пройти через брандмауэры и т. Д., И вам нужно будет зависеть и писать код для плагина браузера, который реализует API сокетов, и связывать его с JavaScript.Если вас интересуют некоторые решения, вы можете проверить следующую публикацию переполнения стека:
Традиционный подход для одноранговой связи между браузерами заключается в том, чтобы ваш сервер выполнял роль шлюза для всех соединений.Браузеры инициируют соединение (либо с помощью WebSockets , либо с XMLHttpRequest ) и постоянно поддерживают активное соединение с сервером, восстанавливая его, если оно прервано.Поскольку серверное приложение всегда найдет открытое TCP-соединение со всеми подключенными браузерами, оно может легко перенаправлять сообщения всем клиентам.