Быстрый вопрос: есть ли возможность делать сокеты datagram UDP в Flash/ActionScript?
Можно ли использовать 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.