안드로이드 소켓 통신
setSoTimeout & setConnectionTimeout
안드로이드 통신
setConnectionTimeout : 서버가 응답하는 시간의 한도를 정하는 것
setSoTimeout : 서버가 응답하지 않는 경우 소켓의 연결을 끊는 것 (접속 후 먹통이 되는 현상 방지)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
HttpClient http = new DefaultHttpClient();
HttpParams params = http.getParams();
HttpConnectionParams.setConnectionTimeout(params, 1000 * 60);
HttpConnectionParams.setSoTimeout(params, 1000 * 300);
// 서버에 전달할 파라메터 세팅
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
// 서버에 요청정보 입력
// XML 형식으로 변환 (String)
String message = null;
message = converter.toMessage(in);
nameValuePairs.add(new BasicNameValuePair("message", message));
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
// request
HttpResponse response = http.execute(httpPost);
// response
StringBuffer output = new StringBuffer();
InputStream instream = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
String line = null;
while (true) {
line = reader.readLine();
if (line == null) {
break;
}
output.append(line + "\n");
}
reader.close();
return output;
|
댓글 없음:
댓글 쓰기