2014-10-03 3 views
-1

나는 Haxe를 처음 사용하고 있으며, 첫 번째 프로젝트에서는 서버에서 파일을 다운로드하는 간단한 프로그램을 작성하려고합니다. 나는 C++을 목표로하고있다.서버에서 파일 다운로드 (C++ 대상)

내가 haxe.Http에서 찾아 봤는데,하지만 난 그게 바이너리 데이터에 적합 생각하지 않습니다, 그것은 onDataresponseData 속성을 가지고 있지만, 이들은 모두 문자열입니다. 또한 모든 응답 데이터를 메모리에 저장하기 때문에 큰 파일에는 적합하지 않다고 생각합니다.

  • haxe.Http 대신 다른 클래스를 사용해야합니까?
  • sys.net.Socket을 사용하여 내 자신의 HTTP 파서를 작성해야합니까?
+0

아무도 downvotes에 관해서는 상관하지 않으시겠습니까? 문제를 설명하면 문제를 해결할 수 있습니다. – Drahcir

+1

아마도 당신이 주제를 벗어난 trifecta에가는 중이기 때문일 것입니다. 첫 번째 질문은 너무 광범위하고 마지막 질문은 SO의 범위에 포함되지 않습니다 (자습서를 요청하는 경우). –

+0

@CaptainObvlious 조언을 주셔서 감사합니다. 질문을 업데이트했습니다. – Drahcir

답변

2

초보자 인 경우 간단히 말해 동기식 (차단) 방식을 사용하기 만하면됩니다. 매우 간단하므로 파일 내용을 작성하여 실제로 작동하는지 확인합니다 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 또는 소켓을 사용하여 비동기 솔루션을 쓰기에 더 많은 시간을 보낼 수 있습니다. 지금은 비동기식 솔루션을 작성하지 않습니다. 프로그램에 무한 루프 (while (true))가 있어야하며,이 시점에서 주 루프가 이미있는 경우에는 확실하지 않습니다.

+0

또한 File.write()가 반환 한 FileOutput을 닫는 것을 잊지 마십시오. –