안드로이드 소켓 통신
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; 
 | 
댓글 없음:
댓글 쓰기