Máquina de destino de conexão TCP recusada ativamente

Máquina de destino de conexão TCP recusada ativamente

Eu tenho um programa cliente/servidor TCP simples em dois laptops. O servidor deve funcionar bem porque eu uso "netstat -anb" e o servidor aparece como escutando, "0.0.0.0:102", então minha conexão do cliente falhou, com "192.168.10.5:102".

A porta deve corresponder e, para o endereço IP do servidor, configurei-a como "0.0.0.0" para que aceite qualquer conexão.

Quando executo o programa junto em um laptop, ele funciona bem. Estou tendo dificuldades para solucionar problemas. Pesquisei algumas postagens, a maioria delas sugeriu configurar o IP do servidor para "0.0.0.0", o que eu fiz. E "netstat -anb" mostra que está ouvindo.

código do lado do cliente na conexão

    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 do 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();
    }

Postei o código para conexão na pergunta original. Realmente meio confuso agora, pesquisei muitas postagens sobre stackoverflow em busca de ajuda, mas a maioria deles disse usar uma porta diferente (0.0.0.0 deve funcionar) ou o servidor não está escutando (netstat mostra que está escutando). Como devo abordar isso? que mais informações posso fornecer para um melhor diagnóstico

informação relacionada