2014-09-05 5 views
2

Я пишу доказательство концепции приложения, чтобы позволить нескольким компьютерам общаться друг с другом и управлять оборудованием, которое к ним привязано. Я хотел бы использовать Socket.IO или что-то вроде этого для соединения, но я часто хочу отправлять данные напрямую из одного сокета-клиента в другой, а не на сервер сокета. Это в основном для сохранения сетевого трафика. Это возможно?Peer to Peer Socket IO

+1

См. Http://stackoverflow.com/questions/7022383/how-can-i-make-a-browser-to-browser-peer-to-peer-connection –

+0

есть более новые методы данных RTC, которые могут почти делать то, что вы описываете (им все еще нужен временный доступ к центральному серверу для рукопожатия) – dandavis

+0

Представьте, что вы собираетесь на какой-то (взломанный) сайт, и вдруг ваш браузер действует как сервер, отвечая на запрос сетевых сокетов. –

ответ

1

Похоже, ваш ответ может быть WebRTC, описано здесь:

Do websockets allow for p2p (browser to browser) communication?

Из ответа в статье: «Протокол WebRTC и API делает быстрый прогресс и позволяет канал данных, который будет создан между двумя одноранговыми узлами (вам может понадобиться сервер STUN/TURN для первоначального обхода NAT и настройки). "

+0

Ответ, на который вы ссылаетесь, оспаривается. Парень написал в 2010 году, что _The WebRTC протокол и API быстро развиваются. Это было почти 5 лет назад! – niekas

0

Существует проект github, называемый socket.io-p2p, который поставляется с приложением демонстрационного чата, которое начинается с посредника на сервере, но затем переключается на WebRTC.

Текущее соединение: https://github.com/socketio/socket.io-p2p. Вероятно, это вряд ли исчезнет в ближайшее время, но если это произойдет в будущем, вы сможете найти клон/вилку где-нибудь, зная имя socket.io-p2p. (Это под лицензией MIT.)