Могу ли я открыть закрытый порт, используя мою Java-программу? - PullRequest
0 голосов
/ 18 января 2019

Я пробовал это для прослушивания открытых портов ..

public class PortCheck {

    public static void main(String[] args) {
        try {
            Socket socket = new Socket("localhost",4500);

            System.out.println("port open");
        } catch (IOException e) {
            System.out.println("not open");
        }
    }
}

Но я хочу открыть закрытый порт из моей Java-программы. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 18 января 2019

Socket - клиентский сокет для подключения к серверу.Чтобы открыть прослушивающий сокет для приема клиентов, вам нужно использовать ServerSocket, который откроет порт, если он еще не открыт, и потерпит неудачу, если порт уже используется.

public class PortCheck {

    public static void main(String[] args) {
        try {
            ServerSocket socket = new ServerSocket(4500, 0, InetAddress.getLocalHost());
            System.out.println("port available");
        } catch (IOException e) {
            System.out.println("port not available");
        }
    }
}
...