1
「ゲームサーバー」を作成したい - サーバーは複数のゲーム(クライアント)を管理し、クライアントアプリケーションとの間でデータを送受信し、DBに格納することができます。 私はAndroidを初めて使用しているので、この基本的なサーバープログラムを作成する際に問題が発生しています。JSONを使用してWEB SERVERを作成する方法
私がすでに行ったこと:ゲーム(クライアント)用のアンドロイドアプリです。クライアントにはJSONのサーバーにユーザーの詳細を送信する登録ページがあります(まだありません)。 私の質問:私はRESTfulなWebservice-私が見つけたすべてを使用して、サーバーのいずれかの例を見つけることができませんでした
- は、クライアント側の例ではなく、サーバーのです。 JSONを使用して複数のクライアントとデータを送受信するサーバーのコード例を教えてください。または少なくともそのようなサーバーを起動して構築するための良い方向はありますか?
- Android Studioを使用してサーバーを構築する必要がありますか?
P.私の質問は、サーバー側とクライアントとの間の接続(サーバーとデータベース間の接続ではなく)に関することです。
ありがとうございました。
クライアント:これに対処する
public class JsonToServer {
String name, email, password;
Context registerActivityContext;
public JsonToServer(String nameString, String emailString, String passwordString, Context context) {
this.name = nameString;
this.email = emailString;
this.password = passwordString;
this.registerActivityContext = context;
new SendPostRequest().execute();
}
public class SendPostRequest extends AsyncTask<String, Void, String> {
protected void onPreExecute(){}
protected String doInBackground(String... arg0) {
try {
Log.d("params123","before connecting");
URL url = new URL(""); // SERVER path
Log.d("params123","after connecting");
JSONObject postDataParams = new JSONObject();
Log.d("params123","json created");
postDataParams.put("name", name);
postDataParams.put("password", password);
postDataParams.put("email", email);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
Log.d("params123","httpOK");
BufferedReader in=new BufferedReader(new
InputStreamReader(
conn.getInputStream()));
StringBuffer sb = new StringBuffer("");
String line="";
while((line = in.readLine()) != null) {
sb.append(line);
break;
}
in.close();
return sb.toString();
}
else {
return new String("false : "+responseCode);
}
}
catch(Exception e){
return new String("Exception: " + e.getMessage());
}
}
@Override
protected void onPostExecute(String result) {
Toast.makeText(registerActivityContext, result,
Toast.LENGTH_LONG).show();
}
}
public String getPostDataString(JSONObject params) throws Exception {
StringBuilder result = new StringBuilder();
boolean first = true;
Iterator<String> itr = params.keys();
while(itr.hasNext()){
String key= itr.next();
Object value = params.get(key);
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(key, "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(value.toString(), "UTF-8"));
}
return result.toString();
}
}
私はちょっと混乱していますが、NetBeansをサーバーに使用していますが、クライアントから収入JSONを読み取るwebServiceの例はまだ見つかりませんでした。添付)。 – SHAI
[ここ](http://stackoverflow.com/questions/18866571/receive-json-post-with-php)は、PHPの例です。ここでは、POSTを使用してWebサービスに送信されたjsonデータを読み取る方法について説明します。別の言語を使用している場合は、私に知らせてください。 –
私はGsonライブラリを使ってNetBeans上でJavaを使用しています。 – SHAI