gpt4 book ai didi

c++ - 有什么方法可以比套接字更快地将数据从 C++ 传输到 Flex/Air?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:33:25 25 4
gpt4 key购买 nike

我有一个 C++ 应用程序,它通过 TCP 套接字将图像发送到 Flex/Air 前端。所有这些数据传输都发生在同一台主机中,因此套接字连接到本地主机服务器。

问题是 Flex/Air 需要很长时间才能从套接字读取整个图像。服务器发送图像的速度非常快,但 Flex/Air 会分段读取图像。整个图像大约有 300MB,而 Flex/AIR 每次迭代只读取大约 1KB。因此 flex 不断调用套接字数据回调,这导致应用程序变慢。

是否有任何同步套接字可以与 flex 一起使用,或者某种可以一次读取全部数据的套接字?如果套接字不是最佳选择,还有其他更快的选择吗?

我的套接字类如下所示:

public class ClientSocket extends Socket
{

public function ClientSocket(host:String, port:int)
{
super();
addListeners();
...
this.endian = Endian.LITTLE_ENDIAN;
}

private function addListeners():void
{
...
addEventListener(ProgressEvent.SOCKET_DATA, onSocketData);
...
}

private function onSocketData(event:ProgressEvent):void
{
try
{
...
var serverMessage:ByteArray = new ByteArray;
readBytes(serverMessage);
...
}
catch(error:Error)
{
//Error handling
}
}
}

最佳答案

我会使用 Native Extensions for AIR .这提供了一个接口(interface),以便您可以直接在 C++ 和 AS3 之间发送数据。它肯定会更快,但您需要以 AIR 3.0 为目标,并且您需要为您的代码运行的每个平台创建一个扩展。

关于c++ - 有什么方法可以比套接字更快地将数据从 C++ 传输到 Flex/Air?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com