Prainブログ

ゲーム開発とかIT小話とかその他雑記のブログ

*

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

      2017/05/06

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レスポンス)」です。

 

 -

        

Message

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

  関連記事

文字送り
Cocos2d-x テキストを1文字ずつ表示する文字送りのやり方

こんにちは。akiです。 この記事ではテキストを1文字ずつ表示する「文字送り」に …

cocos2dx
Cocos2d-x カスタムイベントを利用してソースコードの可読性をあげる

こんにちは、akiです。 この記事ではカスタムイベントの使い方について説明します …

アプリ 購入画面
SDKBoxを使ってアプリ内課金をするやり方 プログラム実装~実機テストまでの13の手順

この記事では、SDKBoxを利用したiOSアプリ内課金のプログラム実装から実機テ …

アプリ名のローカライズ
Cocos2d-x アプリのアイコン名変更方法について iOS/Android

こんにちは。akiです。 この記事ではCocos2d-xにおけるアプリのアイコン …

Cocos2d-x モーダルレイヤーの作り方

この記事ではCocos2d-xによるモーダルレイヤー実装のやり方について説明しま …