0
안드로이드 클라이언트 (내 전화기)에서 서버 (내 PC)에 연결하려고합니다. 서버와 클라이언트 모두 KryoNet을 사용하고 있습니다. 서버와 동일한 PC에있는 클라이언트에서 연결을 시도하면 연결이 성공적입니다. 무선으로 연결된 내 안드로이드 폰 (서버를 구동하는 PC와 같은 라우터에 연결)에서 연결을 시도하면 연결이 성공합니다. 모바일 데이터를 사용하는 동안 전화 연결을 시도 할 때 연결이 실패합니다 (시간 초과 오류가 발생 함). 포트 포워딩을 수행하고 Windows 방화벽 설정에서 포트를 열었습니다. 어떤 생각이 잘못된거야?안드로이드 클라이언트가 서버에 연결되어 있지 않습니다. KryoNet
클라이언트 코드 :
final Client client = new Client();
client.getKryo().register(StringRequest.class);
final StringRequest request = new StringRequest();
new Thread(client).start();
System.out.println("Client started.");
try {
client.connect(5000, ipAddress, 54555);
client.addListener(new Listener() {
public void received(Connection connection, Object object) {
if (object instanceof StringRequest) {
StringRequest response = (StringRequest) object;
Gdx.app.log("Client",response.data);
}
}
});
} catch (IOException e) {
Gdx.app.log("Exception", e.getMessage());
e.printStackTrace();
}
request.data = "Hello";
client.sendTCP(request);
서버 코드 :
는Server server = new Server();
Kryo kryo = server.getKryo();
kryo.register(StringRequest.class);
server.start();
try {
server.bind(54555);
} catch (IOException e) {
e.printStackTrace();
}
server.addListener(new Listener() {
public void received (Connection connection, Object object) {
if (object instanceof StringRequest) {
StringRequest request = (StringRequest)object;
System.out.println("Server"+request.data);
StringRequest response = new StringRequest();
response.data = "response";
connection.sendTCP(response);
}
}
});
다시 한 번 감사드립니다. 로컬 IP를 사용하고 있었는데 문제였습니다. – Andy