2013-07-21 2 views
2

Я хотел знать, можно ли реализовать Javascript только NAT-приложение через приложение. Он должен работать в браузере.Является ли только Javascript NAT пробитием?

Я ищу решение, которое позволило бы подключать P2P с пробитием. Сервер также будет там, но только для того, чтобы сделать ввод данных между одноранговыми узлами и обмениваться IP-адресами и портами.

Если возможно, это только UDP (прочитайте, что NAT-прокрутка намного проще в UDP) или возможны TCP-соединения?

ответ

1

Вы можете. Я упаковал как оглушающий сервер, так и клиент для npm (https://npmjs.org/package/stunsrv). Я на самом деле не документировал клиентскую сторону вещей, но он все еще там. Кроме того, есть несколько других доступных только для клиентов пакетов.

Редактировать: WebRTC может быть что-то интересное и посмотреть на https://github.com/webRTC.

+0

Эй, спасибо за ответ. Есть ли какое-нибудь решение для TCP, о котором вы знаете? – kapad

+0

Не уверен, но было бы не страшно делать трехстороннее рукопожатие программно, если это все, что вы хотите от TCP. – keyneom

+0

Не только трехстороннее рукопожатие. Я хочу использовать это для передачи файлов. Не только голос или видео, где UPD в порядке, и допустима небольшая потеря пакетов. Если TCP очень сложно, опция заключается в обмене файла описания перед началом передачи. – kapad

1

Возможна пробивка отверстий в TCP, но это зависит от двух факторов, основанных на NAT и NAT. Эти 2 также нуждаются в поддержке. Согласно следующей статье, пробивка отверстий UDP поддерживает 82%, а пробивка отверстий TCP поддерживает только 64%. Вы можете найти технику в этой статье тоже .. Все самое лучшее. http://www.brynosaurus.com/pub/net/p2pnat/

+0

Отличная статья. Спасибо! – kapad