fk0, легенда (29.02.2012 18:18, просмотров: 195) ответил lexxx-lexxx на тогда еще один глупый вопрос:
ICQ сервер помогает пересылке, сообщая каждой стороне IP-адрес фаервола противоположной. Далее они продырявливают firewall исходящим пакетом: если отправить исходящий UDP пакет на адрес фаервола противоположной стороны, то свой фаервол начнёт пропускать от адреса фаервола ответные пакеты -- если такую штуку сделают оба, то возможен прямой UDP траффик. На самом деле всё не просто, потому, что фаервол ещё номер порта искажает, который угадать надо. Технология достаточно сложная и достаточно развита в области IP-телефонии. Google "VoIP firewall", "STUN server" и т.п. Да, TCP соединение так не установишь. А в UDP нужно для каждого пакета задумываться о порядке их прохождения, об аутентификации, о пропадании пакетов и дублях... Практически, если собственный сервер неприемлем (лучшее решение вообще), то использовать публичный IRC сервер самая адекватная идея: адреса серверов для крупных сетей не будут меняться десятки лет ещё (не IP, а символьные), собственно сами сети никуда не исчезнут ещё довольно долго. Двум разным приборам достаточно соединиться с серверами одной сети, зайти на один канал (чтоб увидеть друг-друга) и дальше обменивайся хоть в канале (чтоб обмен подглядывать -- удобно), хоть в привате, как хочешь.
[ZX]