2013-10-20 5 views
0

내 컴퓨터에서 실행중인 C++/Java - Socket Server (UDP)가 조금 있습니다. 이제 안드로이드 앱과 서버에 연결하고 싶습니다. 하지만 패키지를 보낼 때 내 앱이 다운됩니다.안드로이드 - UDP 클라이언트 오류

public void Socketinit() { 

    // 1. Socket erstellen! 
    try { 
     serverAddr = InetAddress.getByName("192.168.0.101"); 
     socket = new DatagramSocket(); 

    } catch (UnknownHostException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SocketException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    createListeners(); 


} 

가 켜져 crashs
entprivate void createListeners() { 

    confirm.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 

      buf = input.getText().toString().getBytes(); 
DatagramPacket packet = new DatagramPacket(buf,buf.length, serverAddr, SERVERPORT); 

      try { 
       socket.send(packet); 

      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     } 
    }); 

"socket.send (패킷);" C++을 통해 내 서버에 연결할 수 있으므로 서버가 실행 중입니다. 내 코드에서 ClientProblem은 어디에 있습니까?

감사

답변

0

당신은 propably NetworkOnMainThreadException을 (로그 캣를 참조하거나 디버거에서 확인)지고있다.

AsyncTask를 사용하여이 문제를 해결할 수 있습니다. 아마도 매니페스트에서 인터넷 사용 권한도 누락되었습니다.

여기에 자세한 내용이 나와 있습니다. How to fix android.os.NetworkOnMainThreadException?

+0

예! 나는 NetworkOnMainThreadException을 얻는다! 나는 인터넷 허가를 놓치지 않았지만 AsyncTask는 Poblem을 해결했다. 고맙습니다! – Pete