2012-05-12 2 views
0

나는 안드로이드 앱에서 내 서버로 데이터를 수시로 보내야하는 클라우드 기반 안드로이드 앱을 만들고있다. 소켓은 동일한 네트워크에 연결된 USB 케이블 (컴퓨터와 전화)을 사용하여 휴대 전화에서 내 앱을 테스트 할 때 잘 작동합니다. 내 컴퓨터와 응용 프로그램에서 서버를 실행하여 응용 프로그램을 테스트 할 때 둘 다 동일한 라우터로 연결되어 있으면 문제가 있으며 연결이 이루어지지 않습니다. 디버깅 모드로 연결된 케이블로 응용 프로그램이 제대로 작동하면 왜 이런 일이 발생하는지 알 수 없습니다. 내 소켓에 대한 응용 프로그램의 하위 클래스를 만들어 모든 활동에서 소켓을 유지하려고했습니다. 내 클라이언트 코드는 다음과 같습니다.android network connection with same network

package augID.main; 

import java.io.IOException; 
import java.net.Socket; 
import java.net.UnknownHostException; 

import android.app.Application; 
import android.util.Log; 

public class socketApp extends Application { 

    public static String serverIpAddress = "172.16.83.3"; 
    public static int REDIRECTED_SERVERPORT = 54321; 
    public Socket socket; 

    public void onCreate(){ 
     createConnection(); 
    } 
    public void createConnection(){ 
     Log.d("Client", "Connection"); 
     try { 
      socket = new Socket(serverIpAddress, REDIRECTED_SERVERPORT); 
      Log.d("Client", "Connection to server made"); 
     } catch (UnknownHostException e1) { 
      Log.d("server","could not connect"); 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      Log.d("server","could not connect"); 
      e1.printStackTrace(); 
     } 
    } 
} 

어떤 도움을 주시면 감사하겠습니다.

답변

0

라우터 또는 방화벽이 연결을 차단할 수 있습니까? 이미 해본 적이 없다면, 라우터로 들어가서 54321 포트를 서버를 실행중인 PC에 전달하십시오. 또한 Wireshark를 잡고 휴대 전화에서 연결 요청을 찾으십시오.

희망이 도움이됩니다.