나는 안드로이드 앱에서 내 서버로 데이터를 수시로 보내야하는 클라우드 기반 안드로이드 앱을 만들고있다. 소켓은 동일한 네트워크에 연결된 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();
}
}
}
어떤 도움을 주시면 감사하겠습니다.