Можно ли использовать UDP в Flash/ActionScript?

Быстрый вопрос: есть ли возможность делать сокеты datagram UDP в Flash/ActionScript?

Ответ 1

На момент написания ответ был отрицательным.

Оба BinarySocket и Xml Socket основаны на TCP/IP. Как упоминает SpliFF, UDP добавляется в Flash 10 главным образом для инструментов Flash Media Server и для RTMFP. Adobe Stratus пока является примером протокола. http://labs.adobe.com/technologies/stratus/

Однако текущие UDP-образцы из Adobe основаны на Peer-to-Peer. UDP имеет преимущества в P2P, но, тем более, в более крупномасштабных многопользовательских или DVE (распределенных виртуальных средах), поэтому, надеюсь, это будет продолжаться.

Если вы хотите UDP для игры Unity3D в настоящее время поддерживает UDP в веб-плеере. Или поддерживает jMonkeyEngine с помощью Java. Также скоро появится веб-сайт Torque 3D, поддерживающий его.

Однако, ответ с тех пор изменился на yes; чтобы увидеть, как это возможно, см. эриксоко ответ о том, как использовать DatagramSocket для достижения этого.

Ответ 2

Этот вопрос задавали давно, и с тех пор ответ изменился на "Да". Для других, которые спотыкаются по этому вопросу:

Класс DatagramSocket обеспечивает связь по протоколу UDP. Например:

var datagramSocket:DatagramSocket = new DatagramSocket();
datagramSocket.bind(3333, "127.0.0.1");
datagramSocket.addEventListener(DatagramSocketDataEvent.DATA, onUDPReceived);
datagramSocket.receive();

Примечание. DatagramSocket доступен только для AIR для рабочего стола, а не для устройств или для Flash Player.

Ответ 3

Да вроде..

Следующая версия FMS и Player 10 представит новый протокол, RTMFP, что означает сообщение в режиме реального времени Протокол потока. Это низкая латентность, Протокол на основе протокола UDP, основанный на Протокол Amicima MFP. Amicima была приобретенный Adobe в 2006 году.

Обратите внимание, что это "протокол на основе UDP", это не сырая реализация UDP.