차라리 둘다 안되면 소스에 문제라고 생각하는데
SKT로 된 장비로는 한없이 잘되는데
LG U+장비로는 3G,LTE 모두 될때도 있고 안될때도 있고 해서 더 난감하네요
try{
// 연결 획득 _________________________________________________________
URL url = new URL("uriPath); // [1] 서버 주소로 URL 객체 생성
HttpURLConnection con = (HttpURLConnection)url.openConnection(); // [2] URL로부터 커넥션 획득
// 데이터 전달 방식 설정 _______________________________________________
con.setDefaultUseCaches(false); // [3] 캐쉬 않함.
con.setDoInput(true); // [4] con을 통해 입력처리 설정
con.setDoOutput(true); // [5] con을 통해 출력처리 설정
con.setRequestMethod("POST"); // [6] post 방식 연결
con.setRequestProperty("content-type", "application/x-www-form-urlencoded"); // [7] 컨텐츠 타입 설정
// 데이터 전송및 요청 _________________________________________________
PrintWriter pw = new PrintWriter(new OutputStreamWriter(con.getOutputStream(),"EUC-KR")); // [12] 스트림 연결
pw.write(param.toString()); // [13] 서버로 전송
pw.flush(); // [14] 버퍼 비우기
// 데이터 수신 _______________________________________________________
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "EUC-KR")); // [15] 수신 스트림 연결
StringBuilder buf = new StringBuilder();
String line = null;
while( (line = br.readLine()) != null )
{
buf.append(line); // [16] 읽은 내용을 버퍼에 담음
}
// 연결 종료 _________________________________________________________
if( br!=null )
{
br.close();
br = null;
}
if( pw!=null )
{
pw.close();
pw = null;
}
con.disconnect();
con = null;
url = null;
return buf.toString();
}catch(Exception e){
e.printStackTrace();
}
아래가 소스인데
SK 장비에서 잘 돌아가는거 보면
소스 문제는 아닌거 같은데~
아니면 뭔가 더 효율적인 소켓통신 방법이 있거나..
해결책이면 정말 좋고
비슷한 경우 겪으신분 있으시면 말씀해주세요.
감사합니다.
자세히 아는 것은 아닌데 통신 방식에 의한 차이로 알고 있습니다.
U+의 3G에서는 전화통화/문자수신등이 발생 할때 사용자의 3G 데이터는 끊기게 되어 있습니다.
해결책은 waiting하고 있다가 데이터가 다시 연결 되면 재실행 하는 방식을 취하도록 해야 합니다.