La máquina de destino de la conexión TCP se rechazó activamente

La máquina de destino de la conexión TCP se rechazó activamente

Tengo un programa cliente/servidor TCP simple en dos computadoras portátiles. El servidor debería funcionar bien ya que uso "netstat -anb" y el servidor aparece escuchando, "0.0.0.0:102", luego la conexión de mi cliente falló, con "192.168.10.5:102".

El puerto debe coincidir y, para la dirección IP del servidor, lo configuré en "0.0.0.0" para que acepte cualquier conexión.

Cuando ejecuto el programa juntos en una computadora portátil, funciona bien. Estoy teniendo dificultades para solucionar problemas. Busqué un par de publicaciones, la mayoría sugería configurar la IP del servidor en "0.0.0.0", lo cual hice. Y "netstat -anb" muestra que está escuchando.

código del lado del cliente en la conexión

    private void btnConnect_Click(object sender, EventArgs e)
    {
        client = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

        IPAddress ip = Dns.GetHostByName(Dns.GetHostName()).AddressList[0];
        try
        {
            client.Connect(new IPEndPoint(ip, port));
        }
        catch(Exception ex) {
            MessageBox.Show("Connection failed");
            MessageBox.Show(ex.ToString());
            return;
        }
        this.Text = "Connected";
    }

Lado del servidor

    private void btnListen_Click(object sender, EventArgs e)
    {
        Invoke((MethodInvoker)delegate {
            statusLblOne.Text = "Listening..";
            return;
        });

        // establish connection with socket.
        server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        server.Bind(new IPEndPoint(0, port));
        server.Listen(0);

        // use <acceptStream> to accept data
        acceptStream = server.Accept();
        txtMessage.Enabled = true;

        // allocate a new thread for this acceptstream
        statusLblOne.Text = "Receiving data...";
        Thread th = new Thread(receiveData);
        th.Start();

        // close the listener socket
        server.Close();
    }

Publiqué el código de conexión en la pregunta original. Realmente un poco confundido en este momento, busqué ayuda en muchas publicaciones en stackoverflow, pero la mayoría dijo que usaba un puerto diferente (0.0.0.0 debería funcionar) o que el servidor no está escuchando (netstat muestra que está escuchando). ¿Cómo debo abordar esto? ¿Qué más información puedo proporcionar para un mejor diagnóstico?

información relacionada