Kryonet: сервер / клиент - невозможно подключиться

Я пытаюсь запустить серверный класс на моем компьютере с помощью Kryonet, чтобы мое устройство Android могло подключиться к серверу. Так как мой телефон не смог подключиться, я написал клиентский класс для ПК и протестировал отправку сообщения с моего ноутбука на мой компьютер.

Но я получаю это исключение на клиенте при попытке подключения:

Creating new Client...
Staring Client...
Trying to connect to 192.168.2.54
java.io.IOException: Unable to connect to: /192.168.2.54:34567
    at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:92)
    at com.esotericsoftware.kryonet.Client.connect(Client.java:149)
    at com.esotericsoftware.kryonet.Client.connect(Client.java:110)
    at com.cookedapps.robotredemption.server.ClientTest.run(ClientTest.java:40)
    at com.cookedapps.robotredemption.server.ClientTest.<init>(ClientTest.java:22)
    at com.cookedapps.robotredemption.server.ClientTest.main(ClientTest.java:47)
Caused by: java.net.SocketTimeoutException
    at sun.nio.ch.SocketAdaptor.connect(Unknown Source)
    at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:77)
    ... 5 more

Я обнаружил, что мой брандмауэр блокирует соединение, поэтому я включил свой брандмауэр Bitdefender и смог отправить ping через cmd на мой сервер. Тем не менее я не могу подключиться. Я также пробовал разные порты и разные направления (установил сервер на ноутбук и т. Д.)

Мой сервер клас:

    package com.cookedapps.robotredemption.server;

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

import com.cookedapps.robotredemption.util.PacketString;
import com.esotericsoftware.kryonet.Client;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.Listener;
import com.esotericsoftware.kryonet.Server;

public class MainServer {

    Server server;
    public int udpPort, tcpPort;

    public MainServer(int udp, int tcp) {
        udpPort = udp;
        tcpPort = tcp;

        run();

    }

    public void run() {
        InetAddress ip = null;
        try {
            ip = InetAddress.getLocalHost ();
        } catch (UnknownHostException e1){ 
            e1.printStackTrace();
        }
        System.out.println("Creating Server...         Server IP: "+ip);

        server = new Server();
        server.getKryo().register(PacketString.class);
        System.out.println("Starting Server...");
        server.start();
        try {
            server.bind(tcpPort, udpPort);
        } catch (IOException e) {
            e.printStackTrace();
        }


        server.addListener(new Listener(){
            public void connected(Connection c){
                System.out.println("Received a connection from "+c.getRemoteAddressTCP().getHostString());

                PacketString packetMessage = new PacketString();
                packetMessage.message = "Hello friend!";
                c.sendTCP(packetMessage);
            }

            public void received(Connection c, Object p){
                System.out.println("New Message received! "+p);
            }

            public void disconnected(Connection c){
                System.out.println("A client disconnected!");
            }
        });
    }

    public static void main(String[] args) {
        new MainServer(34567, 34568);
    }
}

Мой клиентский класс:

    package com.cookedapps.robotredemption.server;

import java.io.IOException;

import com.cookedapps.robotredemption.util.PacketString;
import com.esotericsoftware.kryonet.Client;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.Listener;

public class ClientTest {

    private String serverIp;
    private int tcpPort, udpPort, TIMEOUT;
    public Client client;

    public ClientTest(String serverIP, int tcpPort, int udpPort){
        this.serverIp = serverIP;
        this.tcpPort = tcpPort;
        this.udpPort = udpPort;
        TIMEOUT = 5000;

        run();
    }

    public void run(){
        System.out.println("Creating new Client...");
        client = new Client();
        client.getKryo().register(PacketString.class);
        System.out.println("Staring Client...");
        client.start();


        client.addListener(new Listener(){
            public void received(Connection connection, Object object){
                System.out.println("New Message received: "+object);
            }
        });
        try {
            System.out.println("Trying to connect to "+serverIp);
            client.connect(TIMEOUT, serverIp, tcpPort, udpPort);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args){
        new ClientTest("192.168.2.54", 34567, 34568);
    }

}

Поскольку никакие подсказки от Интернета не работали для меня, я решил разместить свой здесь. Спасибо за любые советы!

0 ответов

Другие вопросы по тегам