Например, Skype / Team viewer / Logmein и т. Д., Которые отправляют аудио / видео за NAT (за брандмауэром). Но когда я создал маленькое крошечное приложение, которое отправляло текст в другое местоположение NAT, оно не могло сделать то же самое.
Example:
Sender:
-> Public ip: 91.1.2.3 My lan ip is: 192.168.1.2 with port 14446 udp
-------> Data format: RTP packets
Receiver:
<------- Data received: 0 packets
-> Public ip: 92.1.2.3 Friend lan ip is: 10.0.0.2 with port 14446 udp
* same in both way
Как другие это делают? Как можно выполнить одноранговую разработку приложений для преодоления проблем NAT? У нас всегда есть публичные IP-адреса, и в основном у них есть проблемы с NAT.
Но как же тогда работает Skype в таких случаях? У нас есть диапазон аудио / видео портов для UDP или всегда UDP открыт от чего-либо? Но мой не работает выше портов диапазона для UDP, я также пытался. В чем секрет? это делает меня любопытным !!.
Примечание:
Моя цель - обработка аудиопакетов, где я считаю, что слишком большая фильтрация или брандмауэр приводят к задержке и задержке, и другие проблемы также связаны с этим. Поэтому я хотел бы очень четко знать для своего приложения, что некоторые порты (какие диапазоны портов?) Могут использоваться для таких целей, когда это действительно не блокирует нагрузку разработки.