Cocos2d-x

Cocos2d-x クライアント側の処理とデータ送信(Httpリクエスト)

投稿日:2017年3月29日 更新日:

cocos2dx

この記事は「Cocos2d-x セーブデータをサーバに送信して保存する」の続きになります。

 

・第1回 : サーバにデータを保存したい理由と全体の流れ

・第2回 : クライアント側の処理とデータ送信(Httpリクエスト)(ここ)

・第3回 : サーバ側の処理とデータ送信(Httpレスポンス)

・第4回 : クライアント側のレスポンス処理

 

 

クライアント側の処理とデータ送信(Httpリクエスト)

クライアント側ではJson形式のデータを作成し、サーバにデータを送信する処理までを記述します。

flow_2

 

 

Json形式のデータ

今回の例では、キャラのレベルとHPをJsonデータとして送信することを想定します。

■サーバに送信するデータ

・レベル(”1″)

・HP(”20″)

 

これをJson形式のデータにするとこうなります。(一例です)

[{“level”:”1″,”hp”:”20″}]

 

ではサーバにJsonデータを送信するプログラムを実装してきます。

 

 

プログラムの実装

    #include "HttpClient.h"
    #include "cocos-ext.h"
    #include "spine/Json.h"

    using namespace cocos2d::network;
    using namespace cocos2d::extension;

 

    // URL、ヘッダの設定 
    auto r = new cocos2d::network::HttpRequest();
    r->setUrl("phpサーバのアドレス");
    std::vector<std::string> h;
    h.push_back("Content-Type: application/json");
    r->setHeaders(h);
    r->setRequestType(HttpRequest::Type::POST);
    
    // データの設定
    std::string level = "1";
    std::string hp = "20";
    std::string data = "[{\"level\":\"" + level + "\", \"hp\":\"" + hp + "\"}]";
    const char* buffer = data.c_str();
    r->setRequestData(buffer, strlen(buffer));
    
    // データ送信
    network::HttpClient::getInstance()->send(r);
    r->release();

 

 

次回は「第3回 : サーバ側の処理とデータ送信(Httpレスポンス)」です。

 

PrainGoogleAdSense

PrainGoogleAdSense

-Cocos2d-x
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

シミュレータ

ゲーム制作 Cocos2d-x関連 第4回 「画面タッチに反応して画像を出そう」

画面を眺めててもゲームにはならないよ。画面タッチしたいんだけど!   前回までで画像を表示できるようになりましたが、コレではまだゲームとは言えませんね。 今回と次回で、ボールをタップしたら好 …

新しいファイル

ゲーム制作 Cocos2d-x関連 第8回 「より保守性のあるプログラムを目指して」

  何だこのタイトルは・・・ゲーム制作はどこに行ったの?   結論からいうと、この回ではゲームとしての進展はありません。ただ、後々のプログラムの可読性を上げるために、プログラムを少 …

回復エフェクト

Cocos2d-x アニメーションを利用した回復エフェクトの表示方法

この記事では、Cocos2d-xのアニメーションを利用したエフェクトの表示方法について紹介します。     また、少し実践的なアニメーションの利用方法をシリーズ記事として全5回で予 …

cocos2dx

Cocos2d-x カスタムイベントを削除するタイミング

こんにちは、akiです。 この記事ではカスタムイベントを削除するタイミングについて説明します。   掲題の通り、カスタムイベントを登録した場合、不要になった際に明示的に削除してやる必要があり …

エフェクト

Cocos2d-x エフェクトアニメーションの終了と同時にエフェクトを消す方法

この記事では、アニメーションを表示し終わった後に、アニメーション表示を消す方法を紹介します。   ゲーム中であれば、アニメーションが1ループしたら消してしまいたいことも多いと思います。 方法 …