안녕하세요.


Thread receive = new Thread() { // 메세지 받는 스레드

public void run() {

while(running) {

try {

userMsg = dis.readUTF();

} catch (Exception e) {

errorOccur();

}

}

}

};

receive.setDaemon(true);

receive.start();


  이렇게 메세지를 받는 스레드를 만들고, 바로 밑에는

while(running) {
while(0 == userMsg.length()) { // 메세지 길이가 0 일 때는 대기 하고 있을 것.
if(!running) return;
// try{
// Thread.sleep(100);
// } catch (Exception e) {}
}
if(userMsg.substring(0, 2).equals("3")) { // 클라이언트로부터 방생성 요청.
System.out.println(userMsg.substring(2));
}
userMsg = ""; // 명령어를 받았으니 메세지는 다시 초기화.
}

  이런식으로 루프를 돌면서 명령어 처리를 해주도록 하였습니다. 그런데, 메세지를 받아도 붉은 색으로 표시된 주석이 있는 while 부분을 탈출 하지를 못하고 있네요.. 주석을 풀어주면, 정상적으로 while 을 탈출해서 아랫쪽 명령어를 수행하고 다시 메세지 초기화를 해주는데..
  왜 그런건가요? 굳이 슬립을 주고 싶지 않아서 이렇게 글을 남깁니다.