HTC Wildfire S (API10, android 2.3.3)에서 코드를 사용할 때 정상적으로 작동합니다. 하지만 삼성 갤럭시 S4 (API19, android 4.4.2)를 실행하면 작동하지 않습니다 (응용 프로그램이 시작되고 닫히고 아무 일도 일어나지 않습니다). 서버가 로컬 컴퓨터에 있습니다 (Hercules 프로그램). 물론 매니페스트에 (인터넷) 권한을 추가했습니다.TCP 클라이언트 소켓이 api19에서 작동하지 않습니다.
코드는 다음과 같습니다
는try{
Socket s = new Socket("192.168.1.13", 6914);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String outMsg = "";
outMsg = "This is Client";
out.write(outMsg);
out.flush();
out.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
그래서 당신이 나를 도와 어디에 문제가 보여줄 수 있을까? 나는 내 삼성 전화를 뿌리 뽑지 않았다.
주 스레드에서이 코드를 실행하고 있습니까? 로그가 있습니까? –
방금 읽은 앱 ("앱이 응답하지 않게 될 것입니다. 허니컴 전에는 허니컴을 사용하기 전에 허니 콤과 새로운 Android 버전이 확인하고 예외를 throw합니다."), 그래서 나는 이 스레드를 메인 스레드에서 실행하지 마십시오. 나는 스레드없이 MainActivity에서 이것을 실행한다. 그래서 이것이 문제입니까? 이제 로그를 볼 수 없습니다. – user3681087
예, 이것이 문제입니다. 나는 그것을 대답으로 자세히 설명 할 것이다. –