是否可以在Flash/ActionScript中使用UDP?

是否可以在Flash/ActionScript中使用UDP?,flash,networking,udp,Flash,Networking,Udp,快速提问:是否有可能在Flash/ActionScript中使用UDP数据报套接字?是的 FMS和Player 10的下一个版本 将引入一个新的协议RTMFP, 它代表实时消息 流协议。这是一个低延迟, 基于UDP的协议,该协议基于 Amicima的MFP协议。阿米基马是 2006年由Adobe获得 请注意,作为“基于UDP的协议”,它不是原始UDP实现。在撰写本文时,答案是否定的 BinarySocket和Xml套接字都是基于TCP/IP的。正如SpliFF提到的,Flash 10中添加了UD

快速提问:是否有可能在Flash/ActionScript中使用UDP数据报套接字?

是的

FMS和Player 10的下一个版本 将引入一个新的协议RTMFP, 它代表实时消息 流协议。这是一个低延迟, 基于UDP的协议,该协议基于 Amicima的MFP协议。阿米基马是 2006年由Adobe获得


请注意,作为“基于UDP的协议”,它不是原始UDP实现。

在撰写本文时,答案是否定的

BinarySocket和Xml套接字都是基于TCP/IP的。正如SpliFF提到的,Flash 10中添加了UDP,主要用于Flash媒体服务器工具和RTMFP。Adobe Stratus是迄今为止协议的一个例子

但是,Adobe当前的UDP示例都是基于点对点的。UDP在P2P中有好处,但在更大规模的多用户或分布式虚拟环境(DVE)中更是如此,因此有望成为未来的焦点

如果您希望游戏使用UDP,Unity3D当前在web播放器中支持UDP。或者使用Java的jMonkeyEngine支持它。另外,即将推出的基于Torque 3D的web也可能支持它


然而之后,答案变成了“是”;要了解这一点现在是如何实现的,请参阅关于如何使用
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。

如果我可以问一下,有什么区别?RTMFP运行在UDP之上,因此它只有UDP功能的一个子集。另一方面,它为您节省了为其提供的功能编写代码的时间,即flash客户端之间的加密p2p。更多信息请参见