Androidクライアント(私の電話から)からサーバー(私のPC)に接続しようとしています。サーバーとクライアントの両方がKryoNetを使用しています。サーバーと同じPC上にあるクライアントから接続しようとすると、接続は成功します。ワイヤレスに接続されたAndroid携帯から(サーバーを実行するPCと同じルーターに)接続しようとすると、接続も成功します。モバイルデータを使用しているときに電話機から接続しようとすると接続が失敗します(タイムアウトエラーが発生します)。私はポートフォワーディングを行い、Windowsのファイアウォール設定からポートを開いた。どのようなアイデアが間違っている?Androidクライアントがサーバーに接続していません。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 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