0

我需要在服务器和 Flash 客户端之间创建自定义通信。例如,我想使用纠错编写 UDP 协议。它比 TCP 快得多,并且不受路由问题的影响。不幸的是,我绝对想不出如何替换现有的方式:

_stream = new NetStream(_connection);
_video.attachNetStream(_stream);

这包含了所有通信,我无法控制它。我知道我可以使用 appendBytes,但不确定传递给这个函数的确切内容。我可以在服务器端做任何事情。我的视频是 H.264,音频是 ACC。

4

2 回答 2

0

我押注 UDP,但从来没有让它在 Flash 中工作。我来解释一下:

在你的浏览器中,真的没有办法使用UDP!!!那里的 Flash 应用程序在沙箱中运行,它只使用 TCP!

Air用于桌面应用程序,编译后在桌面包装器中运行,它本身可以直接访问套接字和其他可能性。

而已!您必须使用 TCP。

于 2012-09-18T12:11:55.297 回答
0

除非它是 AIR 应用程序,否则您不能。它是已经处理应用层(OSI 模型)的原生 API。

如果您想自己制作,请使用flash.net.DatagramSocket类(在 AIR 2+ 中可用)为您的应用程序层和NetStream.appendBytes音频/视频流解码和播放(提供 FLV/F4V 块)

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/DatagramSocket.html

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#appendBytes%28%29

于 2012-04-26T14:52:47.527 回答