ソケット接続で応答が得られず、コードに何が間違っているのか理解できませんでした。 私は、IPアドレスとポート番号を使用してソケット接続を確立することができる可能性があり、私は応答を得ることができるのtelnetを試みたとき、それはソケット接続で応答が得られません
if (nsocket.isConnected()) {}
に入っています。
POST /てsetMap HTTP/1.1 ホスト::192.168.1.1 のContent-Type:しかし、入力はのようないくつかの他のパラメータがあるアプリケーション/ JSONを。 charset = UTF-8 のContent-Length:1234
{ "CMD": "request_get_file_list"、 "検証": "CVS"} Iは、コンテンツタイプのような接続プロパティを含む方法を知らない
、私のコードの長さ。ここで
はコードです:
public class WebService {
public static String devicelisting() {
Socket nsocket;
String response = null;
try {
nsocket = new Socket("192.168.1.1", 6666);
if (nsocket.isConnected()) {
JSONObject json = new JSONObject();
json.put("cmd", "request_get_file_list");
json.put("verification", "CVS");
Log.i("AsyncTask", "doInBackground: Creating socket");
// nsocket = new Socket();
OutputStreamWriter out = new OutputStreamWriter(nsocket.getOutputStream(), StandardCharsets.UTF_8);
out.write(json.toString());
Log.i("Webservice", "json.toString"+json.toString());
InputStream in = new BufferedInputStream(nsocket.getInputStream());
BufferedReader r = new BufferedReader(new InputStreamReader(in));
StringBuilder stringbuilder = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
stringbuilder.append(line);
Log.i("line", "line.line"+line);
}
response = stringbuilder.toString();
Log.i("Response", response);
}
else{
Log.i("Response", "not connected");
}
} catch (ProtocolException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return response;
}
問題を見つけるために私を助けてください。私はひどくこのような課題を達成するために、いくつかの(オープンソース)ライブラリが存在するが、多くの機能を実装することは困難であるしなさい私はソケット駆動イベントのために問題
はあなたが参照するか、アプリ内で受けることができない応答のいずれかの種類があるかどうかを確認するために、「パケットキャプチャ」アプリを試すことができかもしれませんが、あなたのデバイス –
入力がPOSTであることにより、受信実際に? HTTPを実装する場合は、開始する前にRFC 2616の知識が必要です。広すぎます。 NB 'Socket.isConnected()'は、あなたがそれをテストしている時点ではfalseになることはありません。無意味なコードを書き込まないでください。 – EJP
@EJB申し訳ありませんが、私はソケット接続に新しいです。この問題を解決するにはどうすればよいですか? – Liya