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

时间:2014-10-03 13:55:32

标签: c++ http haxe

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

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

  • 我应该使用另一个课而不是haxe.Http吗?
  • 我应该使用sys.net.Socket编写自己的HTTP解析器吗?

1 个答案:

答案 0 :(得分:2)

如果你是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甚至套接字。我暂时不编写异步解决方案,因为它需要你的程序有一个无限循环(而(true))并且我不太确定你是否已经有一个主循环。