2014-12-02 4 views
0

내 안드로이드 서버 장치에서 해당 코드를 실행하면 예외가 발생하지만 왜 이해가되는지 이해할 수 없습니다.wifi 직접 연결 중에 예외가 발생하는 이유는 무엇입니까?

WifiP2pDevice peer = wifiP2pDeviceList.getDeviceList().iterator().next(); 
String host = peer.deviceAddress; 
ServerSocket serverSocket = new ServerSocket(2009); 
Socket client = serverSocket.accept(); // I got the exception here 

예외 : 치명적인 예외 : 주요 android.os.NetworkOnMainThreadException

답변

0

안드로이드는 응답하지 않는 잠재적으로 네트워크 호출을 인식하고, 그래서 UI 스레드에서이 일에서 당신을 방지 할 수 있습니다. AsyncTask 또는 백그라운드 프로세스에서 전화를해야합니다. 이 참조 :

http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html

그리고 오류의 추가 (인기) 설명 : 관련 물건을 네트워킹하는 것은 UI 스레드에서 사용할 수 있지만 해결 방법은 거기에 있지 않기 때문에이다

How to fix android.os.NetworkOnMainThreadException?

0

, 단지 이러한 추가 setContentView 아래의 onCreate 행 (실수를 피하기 위해 :))

그러나 비 UI 스레드에서 수행하는 것이 좋습니다.