[완료]UDP/IP통신 커널 락걸리는 현상
글쓴이: s4time / 작성시간: 금, 2009/05/29 - 10:22오전
안녕하세요!
서버프로그래밍 개념없이 웹자료들 참조해서 UDP서버를 개발했는데요.
클라이언트에서 패킷받고, 받은 패킷을 파싱해서 다시 HTTP로 ServletService 호출하는 기능을 합니다.
그런데 가끔씩 DatagramSocket.receive(packet)로 패킷이 전달이 안되고
락이 걸린것 처럼 멈춰있습니다.
cmd창에 포커스를 두고 키보드 아무키나 누르면 쌓였던 패킷들이 한번에 다 들어옵니다.
이부분에서 특별히 에러가 발생하지도 않고, 모두 정상적인 패킷을 받았습니다.
int port = 1234; DatagramSocket socket = new DatagramSocket(port); while(true) { try { byte[] data = new byte[256]; DatagramPacket packet = new DatagramPacket(data, data.length); // 멈췄을때 이부분에 로그까지 출력됨 socket.receive(packet); // 멈췄을때 이부분에 로그 출력 안됨 // HTTPURLConnection을 이용하여 서블릿 서비스 호출 } catch() { } }
receive() 바로 직적에 로그를 찍어서 로그가 찍히는것을 확인 했습니다.
패킷은 받았는데, receive()가 호출이 되지 않는 경우에 대해
가능성이 있는 케이스좀 가르쳐 주시면 감사하겠습니다 ㅠ_ㅠ
환경은 windows 2003 서버, jdk1.6이며,
참고로 별도의 Glassfish서버가 운용되고 있습니다.
고수님들의 도움 기다리겠습니다~
Forums:
해결되었습니다.
cmd창의 속성 중에 빠른편집모드가 체크되어 있었어요ㅡ.ㅡ;
마우스로 커멘드창 클릭하니 선택모드로 바뀌면서 락이 걸리네요
댓글 달기