2016-11-02 2 views
0

私はアンドロイドデバイスとJavaサーバー間の通信を行いたいと思います。 サーバー側:Javaのソケットサーバーから送信されたデータを読み取ることができません

ServerSocket serverSocket = new ServerSocket(port); 
    Socket socket = serverSocket.accept(); 
    OutputStream out = socket.getOutputStream(); 
    PrintStream pw = new PrintStream(out); 
    pw.print("hello"); 
    pw.flush();      
    socket.close(); 

のAndroidクライアント側:

public class connectTask extends Thread { 
    @Override 
    public void run() { 
     super.run(); 
      while (true) { 
       try { 
       Socket socket = new Socket("192.168.0.101", 4444); 
       InputStream inputStream = socket.getInputStream(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); 
       String line = reader.readLine(); 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         textView.setText(line); 
        } 
       }); 
       socket.close(); 
       } catch (IOException e) {      
      }}}} 

とスレッドを開始、この方法:

thread = new Thread(new connectTask()); 
thread.start(); 

問題は、私はJavaのサーバーから何かを得ることができないです。私はどちらかのデータを間違って送信したり受信したりして、何が問題なのか理解できません。ここで何が間違っていますか?

+0

クライアントアプリケーションで例外が発生しますか(IOExceptionを出力しますか)。 – Reinard

+0

私はcatchブロックでprintStackTrace()メソッドを使用しましたが、そこには何も印刷されず、catch(Exception e)ブロックも追加されました。 –

答えて

0

コードがよく見えます(String line = ...final String line = ...になるはずです)、IPアドレスとサーバーのポートを確認する必要があります。

関連する問題