Позволяют ли websockets общаться p2p (браузер с браузером)?
чтобы уточнить, когда я спрашиваю о связи браузера с браузером, я имею в виду без сервера между пересылкой сообщения. Я хотел бы реализовать что-то подобное для игры. Если p2p в websockets невозможно, существуют ли подобные альтернативы? Любая помощь приветствуется.
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