2011-08-01 3 views
1

wifi 연결을 사용하여 내 안드로이드 앱과 로봇을 IP 주소와 포트 번호로 연결하도록 코드를 작성해야합니다. 코드 부분이 있지만 연결을 만들려면 명령이 필요하다고 생각합니다.android 앱은 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 블록에서 소켓을 닫기 전에 스트림을 닫습니다.

정확히 어떤 문제입니까? 서버 측의 로그를보고 연결이 설정되었는지 확인 했습니까? 서버에서 연결을 수락 하시겠습니까? 서버 측의 데이터를 다시 읽습니까? 나는 로봇에 대한 어떤 그런 다음 응용 프로그램이 작동하지 않습니다 설정된 IP 주소와 포트를 사용하여 클라이언트 응용 프로그램을 실행하려고하면

감사합니다, 스테판

+0

감사 스테판은 .. 문제입니다. – Bashir

+0

예, 이전 방법을 사용해 보았지만 결과가 없습니다. 내 응용은 먼저 액세스 포인트 네트워크를 선택하여 연결해야합니다. – Bashir

+0

마지막 코멘트를 찾지 못했습니다. 액세스 포인트를 선택해야한다는 것은 무엇을 의미합니까? – Snicolas

관련 문제