안녕하세요.

카카오톡과 같은 채팅 앱을 만들고 있는데,

대화목록 등을 httpget으로 가져옵니다.

그런데, 이게 잘 가져오다가 가끔 


02-27 23:56:40.804: W/System.err(3100): org.apache.http.conn.HttpHostConnectException: Connection to http://cjy57.cafe24.com refused

02-27 23:56:40.804: W/System.err(3100): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183)

02-27 23:56:40.804: W/System.err(3100): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)

02-27 23:56:40.804: W/System.err(3100): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)

02-27 23:56:40.804: W/System.err(3100): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)

02-27 23:56:40.812: W/System.err(3100): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)

02-27 23:56:40.812: W/System.err(3100): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)

02-27 23:56:40.812: W/System.err(3100): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)

02-27 23:56:40.812: W/System.err(3100): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)

02-27 23:56:40.812: W/System.err(3100): at kr.chat.RoomChatParseTask.getList(RoomChatParseTask.java:129)

02-27 23:56:40.820: W/System.err(3100): at kr.chat.RoomChatParseTask.doInBackground(RoomChatParseTask.java:52)

02-27 23:56:40.820: W/System.err(3100): at kr.chat.RoomChatParseTask.doInBackground(RoomChatParseTask.java:1)

02-27 23:56:40.820: W/System.err(3100): at android.os.AsyncTask$2.call(AsyncTask.java:264)

02-27 23:56:40.820: W/System.err(3100): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

02-27 23:56:40.820: W/System.err(3100): at java.util.concurrent.FutureTask.run(FutureTask.java:137)

02-27 23:56:40.820: W/System.err(3100): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)

02-27 23:56:40.820: W/System.err(3100): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)

02-27 23:56:40.820: W/System.err(3100): at java.lang.Thread.run(Thread.java:856)

02-27 23:56:40.820: W/System.err(3100): Caused by: java.net.ConnectException: failed to connect to /118.218.219.125 (port 80): connect failed: ETIMEDOUT (Connection timed out)

02-27 23:56:40.820: W/System.err(3100): at libcore.io.IoBridge.connect(IoBridge.java:114)

02-27 23:56:40.820: W/System.err(3100): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)

02-27 23:56:40.820: W/System.err(3100): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)

02-27 23:56:40.820: W/System.err(3100): at java.net.Socket.connect(Socket.java:842)

02-27 23:56:40.820: W/System.err(3100): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)

02-27 23:56:40.820: W/System.err(3100): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)

02-27 23:56:40.820: W/System.err(3100): ... 16 more

02-27 23:56:40.820: W/System.err(3100): Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)

02-27 23:56:40.820: W/System.err(3100): at libcore.io.Posix.connect(Native Method)

02-27 23:56:40.820: W/System.err(3100): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:75)

02-27 23:56:40.820: W/System.err(3100): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)

02-27 23:56:40.820: W/System.err(3100): at libcore.io.IoBridge.connect(IoBridge.java:112)

02-27 23:56:40.820: W/System.err(3100): ... 21 more

02-27 23:56:40.820: W/System.err(3100): +++ LOG: entry corrupt or truncated

02-27 23:56:40.820: W/System.err(3100): +++ LOG: entry corrupt or truncated



이렇게 server connection이 refuse됩니다.
timeout될 때까지 접속이 안되다가, timeout지나고서는 또 바로 빠르게 접속이 됩니다.
그리고서 또 몇 번 서버랑 자료 주고 받다가 다시 갑자기 연결이 안되고 timeout이 나고요.
이유를 모르겠네요..

서버에 접속은 간단하게 아래와 같이 했습니다.

HttpPost request = new HttpPost($url);

ChatApplication.setHeader(request);

Vector<NameValuePair> nameValue = new Vector<NameValuePair>();

nameValue.add(new BasicNameValuePair("uid", $uid));

nameValue.add(new BasicNameValuePair("rid", $rid));

nameValue.add(new BasicNameValuePair("msg", $msg));

request.setEntity(makeEntity(nameValue));

HttpClient client = new DefaultHttpClient();

ResponseHandler<String> reshandler = new BasicResponseHandler();

res = client.execute(request, reshandler);


브라우저에서는 잘 작동하길래 혹시나해서 헤더에 각종 값들을 설정해줬습니다.(user-agent등)

그런데 그래도 이런 현상이 지속되네요.

log를 여기저기 찍어본 결과 client.execute부분에서 못 넘어가던데, 혹시 이유 아시는 분 계신가요?

서버는 cafe24쓰고, php로 만들었습니다.