Thread
을 사용하여 ServerSocket
을 시작하고 500ms보다 오래 걸리는 트랜잭션을 사용하고 있습니다.스레드가 UiThread가 아닙니다.
나는 "앱이 응답하지 않습니다."라는 메시지를 유발한다고 생각합니다.
UiThread
과 분리 할 스레드를 만들려고했습니다.
Thread socketServerThread=new Thread(new ServerSocketThread());
socketServerThread.start();
public class ServerSocketThread extends Thread {
static final int SocketServerPORT = 8080;
int count = 0;
@Override
public void run() {
try {
serverSocket = new ServerSocket(SocketServerPORT);
Toast.makeText(getApplicationContext(), "server is on", Toast.LENGTH_SHORT).show();
while (true) {
Socket socket = serverSocket.accept();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
내 응용 프로그램 충돌 내가 그것을 엽니 다
여기 내 코드입니다.
어떻게 이러한 오류를 해결할 수 있습니까?
내 로그 캣 :
04-11 21:57:23.864: E/AndroidRuntime(11761): FATAL EXCEPTION: Thread-11
04-11 21:57:23.864: E/AndroidRuntime(11761): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.os.Handler.<init>(Handler.java:121)
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.widget.Toast.<init>(Toast.java:68)
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.widget.Toast.makeText(Toast.java:231)
04-11 21:57:23.864: E/AndroidRuntime(11761): at com.example.imagesender.MainActivity$ServerSocketThread.run(MainActivity.java:79)
04-11 21:57:23.864: E/AndroidRuntime(11761): at java.lang.Thread.run(Thread.java:1019)
오류 란 무엇입니까? – tyczj
스택 트레이스 없음, 대답 없음. – njzk2
님이 logcat in post을 추가했습니다. – user3465277