2011-08-01 19 views
1

wifi接続を使用して、私のアンドロイドアプリとロボットをipアドレスとポート番号で接続するコードを作成する必要があります。 私はコードの一部を持っていますが、接続を作成するにはコマンドが必要だと思います。アンドロイドアプリはIPアドレスとポート番号でロボットに接続します

public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    Socket socket = null; 
    DataOutputStream dataOutputStream = null; 
    DataInputStream dataInputStream = null; 

    try { 
     socket = new Socket("192.168.10.5", 2525); 
     dataOutputStream = new DataOutputStream(socket.getOutputStream()); 
     dataInputStream = new DataInputStream(socket.getInputStream()); 
     dataOutputStream.writeUTF(textOut.getText().toString()); 
     textIn.setText(dataInputStream.readUTF()); 
    } catch (UnknownHostException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } finally{ 
     if (socket != null){ 
      try { 
       socket.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 

     if (dataOutputStream != null){ 
      try { 
       dataOutputStream.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 

     if (dataInputStream != null){ 
      try { 
       dataInputStream.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 
}; 

答えて

0

書き込み後に出力ストリームでflushを呼び出す必要があります。

また、finallyブロックでソケットを閉じる前にストリームを閉じます。

あなたは何に問題がありますか? サーバー側のログを見て、接続が確立されているかどうか確認しましたか? サーバーが接続を受け入れるのを確認しますか? サーバー側のデータはすべて再読み込みしますか?

よろしく、 ステファン

+0

おかげでステファン...問題は、私はロボットのための決まったIPアドレスとポートを使用してクライアントアプリケーションを実行してみていないときにアプリが動作しないです。 – Bashir

+0

ええ、私は以前の方法を使用しようとしましたが、結果はありませんでした。 私のアプリケーションは、最初に接続するアクセスポイントネットワークを選択する必要があります。 – Bashir

+0

最後のコメントは見つかりませんでした。アクセスポイントを選ぶ必要があるということはどういう意味ですか? – Snicolas

関連する問題