안드로이드 개발 질문/답변
(글 수 45,052)
while(!Thread.currentThread().interrupted()){
try {
net = new Socket(gmap, 80); // connects the Socket to the TARGET port 80.
out = new BufferedWriter(new OutputStreamWriter(net.getOutputStream()));
out.write(get_text);
out.flush();
// out.close();
} catch (UnknownHostException e) {
Log.w("Ex_UnkownHost: " , e);
} catch (IOException e) {
Log.w("Ex_IO: " , e);
}
}
}
쓰레드 Run 함수 안에서 반복적으로 Http Get 메세지를 반복시키는 소스입니다.
그런데 위 소스를 돌리면 약 60개의 메세지 발생후 net = new Socket 함수에서 멈추네요;
(에러가 나는것도 아니고 그냥 해당 쓰레드가 저기서 block된듯 멈춥니다;;)
out.close의 주석을 풀면 멈추지 않습니다만..(간혹 어쩌다 멈추는 경우가 있기도 합니다 -_-;;; 1%도 안되는듯하지만요)
저 한줄때문에 패킷을 보내는 속도가 느려지네요;
구글링좀 해봤는데 Socket함수에서 블록되는 이유가 대체 뭔지 모르겠습니다;
아시는분 좀 도와주세요 ㅠ
ps. 나쁜의도로 짠 소스 아닙니다!!