send/retrieve xml 文件 to/from 服务器 cocos2d-x

send/retrieve xml file to/from server cocos2d-x

我的应用程序将它需要的所有数据保存到存储在设备上的 xml 文件中。当用户打开应用程序时,它会提取 xml 文件,以便他们可以保留已保存的数据。

我希望能够将 xml 文件上传到服务器,如果可能的话,特别是通过使用带有 GET/POST 调用的 php 脚本。我知道如何发送和检索单个变量值,但不确定如何发送文件,特别是 xml 文件。

我可以使用 cocos2d HttpRequest/HttpClient 类 来实现吗?或者有没有更好的方法。

谢谢

我不熟悉 cocos2d,但他们的网站有一个通过 POST 请求传输文件的示例(这是传输数据的更好方法,例如 XML ).

From the cocos3d-x.org wiki:

cocos2d::network::HttpRequest* request = new cocos2d::network::HttpRequest();
request->setUrl("http://www.httpbin.org/post");
request->setRequestType(cocos2d::network::HttpRequest::Type::POST);
request->setResponseCallback( CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this) );

// write the post data
const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetworkTest";
request->setRequestData(postData, strlen(postData));

request->setTag("POST test1");
cocos2d::network::HttpClient::getInstance()->send(request);
request->release();

在这个例子中,他们使用 postData 字符串作为数据;您需要将其替换为 XML 内容。

另外你应该包括这些标准 headers:

  • Content-Type: application/xml; charset=utf-8 表示数据类型及其编码
  • Content-Length: 12389128 显示附加数据的长度,以字节为单位

您还可以探索基本压缩,这应该会显着缩小 XML。