Adobe AIR, URLRequest и локальные порты - PullRequest
2 голосов
/ 28 февраля 2011

Я собираюсь написать приложение для Adobe AIR, но я хотел выяснить, возможно ли это в первую очередь на платформе. (В основном новинка для Flash и AIR)

Я хотел бы заранее знать, что будет использовать локальный порт a URLRequest. Если возможно, я бы хотел оставить соединение открытым и продолжать использовать тот же сокет.

То, что я в основном пытаюсь сделать, это выполнить некоторые NAT-Traversal и согласование портов заранее. После согласования клиента и сервера я бы хотел, чтобы они подключились и в основном использовали HTTP для одноранговой передачи потокового мультимедиа, как в следующем примере:

var s = new air.Sound(); 
var url = "http://www.example.com/sounds/bigSound.mp3"; 
var req = new air.URLRequest(url); 
var context = new air.SoundLoaderContext(8000, true); 
s.load(req, context); 
s.play();

Проблема в том, что я не вижу, чтобы это происходило, если я не смогу получить от AIR некоторую информацию о том, какие порты он планирует использовать. Я бы согласился с созданием собственных подключений Socket к серверу и их использованием, но мне нужен был бы способ использовать платформу Sound для потоковой передачи таким же образом из сокета.

Идеи? Мысли? Спасибо!

1 Ответ

0 голосов
/ 13 апреля 2011

Даже если вам удалось угадать, какой порт AIR будет использовать на вашем устройстве, это не очень полезно, поскольку существует достаточно высокая вероятность того, что ваш NAT преобразует его в другое значение ЕСЛИ ваше устройство AIR имеет частный IP-адрес.

Эта проблема не возникает, если ваш сервер AIR имеет публичный IP-адрес.Чаще всего вы можете настроить NAT / Маршрутизатор сервера для пересылки трафика как есть.Сканирование портов из глобальной сети быстро подскажет, какой порт используется.

Если вы хотите «перехватить» исходящее соединение, созданное самой AIR, то вы можете попытаться установить соединение с вашим конкретным серверомреализован, который будет направлять трафик от и до него.Не просто, но возможно.По сути, вы собираете дыры, пробитые сервером в NAT.

...