アンドロイドフォンとしてサーバーにする必要があり、モジュールが私に接続し、GETメソッド(TCP/IP接続)を介してデータをリクエストするシナリオがあります。 接続の部分は簡単ですが、私の問題はこのGETメソッドをどのように扱うべきかという点です。GETレスポンスでアンドロイドサーバーとしてデータを送信する方法
class AsyncServerThread extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
Socket socket = null;
try {
serverSocket = new ServerSocket(SERVERPORT);
Log.e("ServerThread", "Connected");
} catch (final IOException e) {
Log.e("serverSocketExc", "?" + e.getMessage());
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "serverSocketExc: " +
"?" + e.getMessage(),
Toast.LENGTH_LONG).show();
}
});
e.printStackTrace();
}
Log.e("ServerThread", "listening for new connections");
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "ServerThread: listening for new connections.",
Toast.LENGTH_LONG).show();
}
});
while (shallContinue) {
try {
final Socket tempSocket = socket = serverSocket.accept();
if (tempSocket.isConnected()) {
Log.e("socket", "accepted new Connection");
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "accepted new Connection.",
Toast.LENGTH_LONG).show();
}
});
/*CommunicationThread commThread = new CommunicationThread(socket);
new Thread(commThread).start();*/
Log.e("AsyncServerThread", "going to create client thread");
runOnUiThread(new Runnable() {
@Override
public void run() {
new AsyncClientThread().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, tempSocket);
}
});
out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
} else {
Log.e("socket", "no new Connection");
}
} catch (IOException e) {
Log.e("accept", "?" + e.getMessage());
e.printStackTrace();
}
}
Log.e("ServerThread", "ended listening for new connection");
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "ServerThread: ended listening for new connection.",
Toast.LENGTH_LONG).show();
}
});
try {
serverSocket.close();
} catch (IOException e) {
Log.e("close", "?" + e.getMessage());
e.printStackTrace();
}
return null;
}
}
使用URLパラメータ –
明確ではありません。リクエストがGETリクエストであるかどうかを知る方法を尋ねていますか? – dsharew
@DegenSharewはい、私はそれを見てくださいとはい、私はそれがGET要求かどうかを検出したいと思う質問を編集しました。 –