Позволяют ли websockets общаться p2p (браузер с браузером)?



чтобы уточнить, когда я спрашиваю о связи браузера с браузером, я имею в виду без сервера между пересылкой сообщения. Я хотел бы реализовать что-то подобное для игры. Если p2p в websockets невозможно, существуют ли подобные альтернативы? Любая помощь приветствуется.

723   5  

5 ответов:

нет. Браузеры могут только инициировать подключения WebSockets, а не получать их. Элемент W3C browser API spec определяет только способ запуска исходящего соединения.

вы можете создать приложение, которое будет инициировать и принимать подключения WebSockets, но браузеры этого не делают.

на Приложение Толкатель который можно использовать для создания приложения WebSockets с несколькими клиентами. Сервис предоставляет до 20 одновременных Клиенты WebSockets бесплатно (вы можете заплатить за более высокое масштабирование).

обновление:

The WebRTC протокол и API быстро развиваются и позволяют установить канал данных между двумя одноранговыми узлами (вам все еще может понадобиться сервер STUN/TURN для начального обхода NAT и настройки).

теоретически это возможно с WebRTC DataChannel:

RTCDataChannel-это WebRTC API для высокой производительности и низкой задержки, одноранговая передача данных arbritary. API-это простой-похож на WebSocket-но связь происходит непосредственно между браузеры, поэтому RTCDataChannel может быть намного быстрее, чем WebSocket, даже если необходим сервер реле (поворота) (когда "пробивать отверстия" справиться с брандмауэры и Натс неудачи.)

"теоретически", потому что он еще не поддерживается стабильным браузером, и вам все еще нужен сервер ретрансляции (TURN), если один из браузеров находится за симметричный NAT. Тем не менее, это очень перспективный объект.

обновление: Chrome 26 и Firefox 22 поддерживают RTCDataChannel по умолчанию и Firefox 19-21, если вы включите WebRTC, установив media.peerconnection.enabled в true (about:config).

Я читал о websocket и peer 2 peer и нашел PeerJS.

Я все еще ничего не сделал, но на примерах это выглядит многообещающе.

теперь дни это возможно, в настоящее время только Chrome,FF и Opera поддерживают его (рабочий стол).

некоторые библиотеки начинают появляться в интернете прямо сейчас, например PeerJS и js-platform-p2p, который в значительной степени упрощает вещи.

простой и надежный кросс-браузер поддерживается способ использовать http://httprelay.io с вызовами AJAX. Он также реализует один ко многим коммуникациям, что может быть полезно для разработки игр.

Comments

    Ничего не найдено.