Я новичок в Haxe и для своего первого проекта я хочу написать простую программу, которая будет загружать файл с сервера. Я нацеливаюсь на C ++.
Я смотрел на haxe.Http
, но я не думаю, что это подходит для двоичных данных, у него есть onData
и responseData
свойство, но это обе строки. Я также не думаю, что он подойдет для больших файлов, просто потому, что он хранит все данные ответов в памяти.
haxe.Http
?sys.net.Socket
?Если вы новичок в 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)), и я не слишком уверен, если у вас уже есть основной цикл в этой точке.