私は、Androidゲーム用の単純なゲームサーバーを、mysqlデータベースを使用してphpを使用して作成しようとしています。投稿コマンドを使用したシンプルゲームサーバー
私の考えは、単に「ドロイドアプリケーションは、単純なHTTP POSTリクエストをシミュレートすることです 例えばhttp://www.mysite.com/missile/new.php?lat=58123456,long=-2123456,state=1私のウェブサーバは、その後、それらのE6のコからmysqlデータベースに発売されたものとして、新たなミサイルを格納するために意図されて
私はすべてのクライアントが飛行中のミサイルを眼球検査することを可能にする別のPHPファイルを書くつもりです。
私が見つけたさまざまなコードを試しましたが、100%成功しませんでした。
私は、ブラウザのバーにhttp://www.mysite.com/missile/new.php?lat=58123456,long=-2123456,state=1を入力した場合 - 私はちょうどでシンプル
print_r($_GET);
echo '<br />';
をやっているので、私は戻って アレイ([launchlat] => 56123456、launchlong = 2700123、状態= 0)を取得私のPHPファイル。
は、しかし、私の現在のコード
try {
String reply;
HttpClient client = new DefaultHttpClient();
String postURL = "http://www.mysite.com/missile/new.php";
HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("launchlat", "56123456"));
params.add(new BasicNameValuePair("launchlong", "2700123"));
params.add(new BasicNameValuePair("state", "0"));
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);
HttpEntity resEntity = responsePOST.getEntity();
if (resEntity != null) {
reply = EntityUtils.toString(resEntity);
Log.i("RESPONSE",reply);
}
} catch (Exception e) {
e.printStackTrace();
}
と私は返信に空の配列を取得しています。
誰がポストを行い、応答を受信するために微調整(または完全に新しいコードをしてくださいお勧めすることはできますか?
よろしく
サイモン
あなたのPHPは、ブラウザ方法に応じて、Androidプログラムでは対応していません。このようなデバッグの私のツールはWiresharkです。ブラウザからのポストレスポンスをキャプチャして、Androidからポスト(レスポンスなし)をキャプチャします。パケットの比較は、良いヒントをyeildする必要があります。 –