안녕하세요 항상 안드로이드 펍으로 부터 도움 받고 있는 초보 개발자 입니다.

일단 제 소스를 보면 

소켓을 생성 하고

   so = new Socket();
   so.connect(addr, timeout);

   in = new DataInputStream(so.getInputStream());
   out = new DataOutputStream(so.getOutputStream());

post_header = "GET "
    + /test.php
    + " HTTP/1.1\n"
    + "Accept: */*\n"
    + "Referer: "
    + host
    + /test.php
    + "\n"
    + "Accept-Language: ko\n"
    + "Content-Type: multipart/form-data; boundary=---------------------------7d0320204f4\n"
    + "Accept-Encoding: gzip, deflate\n"
    + "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)\n"
    + "Host: " + host + ":" + port + "\n\n";

  Log.d("SOCKET", "SOCKET [CLIENT -> SERVER]: \n" + post_header);

  try {
   out.write(post_header.getBytes(), 0, post_header.length());
   out.flush();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

while(

    if (in.available() == 0) {
     sleep(10);
     /* If no packet in 3 seconds */
     if (wait_cnt == 30) {
      toastShow("Time out !!");
      break;
     }....

     line = in.readLine();
.....
}


위 와 같은 방식으로 80 port 로 접속 해서 /test.php 를 수행시키고 해당 수행 결과를 받아 옵니다.

wi-fi 의 경우 문제 없이 잘 받아 오는데
문제는 3G 입니다. 3G 의 경우 서버로 부터 아무런 응답이 없네요. ( 10초 이상 기다려도 응답이 없어요).
(in.available() 에서 막히네요.)

일단 원인은 두 가지로 생각되는데요
1. androidManifest 에 permission 중 3G 에 관한 제약이 걸려 있다.
2. server 로 부터 deny 되었다. ( wi-fi 는 왜 되는지 ㅡㅡ;)


일단 네트워크를 이용하는데 3g 와 wi-fi 의  왜 차이가 있는지 의문이 들고 혹시 해결할 방안이 있는지
고수님들의 소중한 의견 귀기울입니다.
즐거운 주말 되세요.