从服务器(C++目标)下载一个文件

Download a file from server (C++ target)

本文关键字:一个 文件 下载 C++ 目标 服务器      更新时间:2023-10-16

我是Haxe的新手,对于我的第一个项目,我想写一个简单的程序,从服务器下载一个文件。我的目标是C++。

我一直在研究haxe.Http,但我认为它不适合二进制数据,它有onDataresponseData属性,但这两个属性都是字符串。我也不认为它适合大文件,因为它将所有响应数据存储在内存中。

  • 我应该使用另一个类来代替haxe.Http
  • 我应该使用sys.net.Socket编写自己的HTTP解析器吗

如果你是Haxe的初学者,作为一个简单的开始,我会简单地尝试使用同步(阻塞)方式,因为它非常简单,然后将内容写入文件以检查它是否真的在C++中工作。

例如:

class TestHttp {
    public static function main() { 
        var content : String = haxe.Http.requestUrl("http://somedomain/path/to/file");
        sys.io.File.write("/path/to/some/local/file", true).writeString(content);
        trace(content.length + " bytes downloaded");
    }
}

如果这在C++中适用,那么您可以花更多的时间编写异步解决方案,使用onData甚至Sockets。我现在不写异步解决方案,因为它需要你的程序有一个无限循环(while(true)),我不太确定你现在是否已经有了一个主循环。

相关文章: