There are 999 reasons to become levi niner. Find yours at levi9.com/jobs
×Закрыть

p2p на Python с использованием STUN

Всем доброго времени суток!
Неделю читаю теорию и смотрю объяснения на YT.
Нашле даже какой-то пример. Но он оказался криво написанный и не рабочий)))
Может кто пробовал? Подскажите как все таки «пробивают» NAT.
Я понимаю, что нужен сигнальный сервер плюс отдельная вязка клиент-сервер для передачи и приема сообщений.
Но как это на практике происходит?
У меня не получилось :(
За ранее всем спасибо.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Посмотрите еще это samy.pl/pwnat оно не на питоне но от языка зависит только работа с udp (или в данном случае raw) сокетом.

Попробуй посмотреть на codeby.net/...​him-python-chast-1.61168 там очень много статей на тему Python. От самых азов и далее. Может найдёшь ответ. а если нет, то можно там спросить у специалистов.

Подивіться в сторону PubNub www.pubnub.com. Через нього можна обмінюватися SDP, TURN/STUN, ICE

Возьмите pjsua клиент (pjsip.org) и поиграйтесь с SIP звонками — увидите как это работает на практике. Вам нужен клиент (pjsua) работающий с ICE в сочетании с TURN/STUN сервером (есть публичные, гугл покажет).

До часу ночи сидел и читал про pjsua)))
Интересное решение. Пока не все понял. Я так понимаю, что можно будет делать голосовые звонки из компьютера на компьютер. А видео звонки, видео конференции или простой текстовый чат делать можно?

pjsua умеет видеозвонки; про видеоконференции я не в курсе. Текстовый чат на нем реализуется через SIP протокол (т.е. через центральный сервер). Вообще можно посмотреть на его pjnath компонент — это как раз та штука которая реализует ICE и использовать у себя.

Как еще один вариант — посмотреть webrtc. Там тоже есть прохождение NAT-a, может быть его API подойдет больше для Ваших задач... Поищите в гугле по WebRTC Data Channels.

Спасибо)
Я вот еще наткнулся на matrix.org
Пока собираю информация

Можно его не пробивать, можно просто включить себе редирект нужного порта через протокол UPnP

Спасибо) Посмотрю.
Но не уверен, что это то. По термином «пробитие» я имел ввиду возможность обмениваться данными двум приложениям без наличия белого IP.

Подписаться на комментарии