Redes de Java "Conexión rechazada: conectar"

He estado tratando de ejecutar un programa simple de prueba de red sin resultados.

Servidor:

import java.io.*;
import java.net.*;

public class ServerTest {
    public static void main(String[] args) {
    final int PORT_NUMBER = 44827;

    while(true) {
        try {
        //Listen on port
        ServerSocket serverSock = new ServerSocket(PORT_NUMBER);
        System.out.println("Listening...");

        //Get connection
        Socket clientSock = serverSock.accept();
        System.out.println("Connected client");

        //Get input
        BufferedReader br = new BufferedReader(new InputStreamReader(clientSock.getInputStream()));
        System.out.println(br.readLine());

        br.close();
        serverSock.close();
        clientSock.close();
        } catch(Exception e) {
        e.printStackTrace();
        }
    }
    }
}

Cliente:

import java.io.*;
import java.net.*;

public class ClientTest {
    public static void main(String[] args) throws IOException {
    final int PORT_NUMBER = 44827;
    final String HOSTNAME = "xx.xx.xx.xx";

    //Attempt to connect
    try {
        Socket sock = new Socket(HOSTNAME, PORT_NUMBER);
            PrintWriter out = new PrintWriter(sock.getOutputStream(), true);
        //Output
        out.println("Test");
        out.flush();

        out.close();
        sock.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
    }
}

El programa funciona bien cuando uso 127.0.0.1 o mi IP interna para el nombre de host. Pero cada vez que cambio a mi dirección IP externa, arroja unjava.net.ConnectException: Connection refused: connect error.

A propósito, elegí un puerto tan poco común para ver si ese era el problema, sin suerte. Puedo conectarme sin problemas usando telnet, pero cuando intento acceder al puerto con canyouseeme.org, me dice que la conexión ha excedido el tiempo de espera. Incluso intenté desactivar todos los firewalls y antivirus, incluidos los predeterminados de Windows y el firewall del enrutador, con todos los puertos reenviados y DMZ habilitado, y todavía dice que la conexión se agotó. Yo uso Comcast como mi ISP, y dudo que bloqueen un puerto tan aleatorio.

Cuando uso un rastreador de paquetes, muestra el tráfico TCP con mi computadora enviando SYN y recibiendo RST / ACK, por lo que parece un puerto bloqueado estándar, y no estaba ocurriendo ningún otro tráfico sospechoso de paquetes.

No tengo idea de lo que está pasando en este momento; He probado casi todos los trucos que conozco. Si alguien sabe por qué el puerto podría estar bloqueado, o al menos alguna forma de hacer que el programa funcione, sería muy útil.

Respuestas a la pregunta(5)

Su respuesta a la pregunta