2011-02-16 2 views
0

다음 코드에서 연결을 열려고하면 응용 프로그램이 충돌합니다. 나는 그것이 항구가 사용되고 있기 때문에 그것이있다라고 생각한다. 그러나 확실하지 않은. 아래 코드에 잘못된 것이 있거나 문제가 무엇인지 알면 알려주십시오. 응용 프로그램 (" ipadress 후" "connectdevice")포트 생성시 응용 프로그램이 죽는 경우

Log.v로한다;

약간의 시간이 지난 것입니다. 그러나 거의 없습니다. 또한 예외는 없습니다.

미리 감사드립니다.

try { 
     Log.v("connectdevice", "inside make connection"); 
     InetAddress host = InetAddress.getByName("192.168.201.65"); 
     Log.v("connectdevice", "after ipadress"); 
     socket = new Socket(host.getHostName(), 7777); 
     Log.v("connectdevice", "after socket"); 
     connected = true; 
     } catch (UnknownHostException e) { 
      connected = false; 
      e.printStackTrace(); 
     } catch (IOException e) { 
      connected = false; 
      e.printStackTrace(); 
     } 
+0

예외는 아닙니까? 심지어 logcat에? 그러면 프로그램이 충돌하게되는 이유는 무엇입니까? – sstn

+0

logcat은 Log.v.의 출력을 제외하고 아무것도 표시하지 않습니다. 어떤 아이디어? 모든 가능한 예외를 처리하고 있습니까? – prolink007

+1

이상합니다. 이 새로운 소켓 (host.getHostName(), 7777)은 역순으로 DNS 조회를 포함 할 수 있기 때문에 좀 더 차선책입니다. 소켓은 InetAddress를 받아들입니다. 그냥 Socket (host, 7777)을 사용하십시오. – sstn

답변

0

에 예외를 볼 수 있습니다 [ssfn 의해 게시] 이상하다
. 이 새로운 () 소켓 (host.getHostName(), 7777)은 입니다. 역방향 DNS 조회가 포함되어있을 수 있습니다 (). 소켓 은 InetAddress를 허용합니다. 소켓 (host, 7777) 만 사용하십시오.

ssfn이 여기에오고 그의 대답을 대답한다면, 나는 그것을 가능한 빨리 허용 할 것입니다. 그 때까지 이것은 허용 된 대답입니다.

0

사용

Log.e("Error", "exception", e); 

이 방법은 로그 캣

+0

"캐치"가 이미 logcat에 걸린 예외를 인쇄하지 않아야합니다. 그래서, 저를 위해 당신의 제안이 정확히 무엇입니까? – prolink007

+2

잡히지 않은 예외가 logcat에 나타나야합니다. 그 외에도 e.printStackTrace()는 stdout/stderr에 인쇄 할 것이고, stdout도 logcat으로 리디렉션되어야합니다. – sstn

관련 문제