Tcp 연결 대상 시스템이 적극적으로 거부됨

Tcp 연결 대상 시스템이 적극적으로 거부됨

두 대의 랩톱에 간단한 TCP 클라이언트/서버 프로그램이 있습니다. "netstat -anb"를 사용하면 서버가 제대로 작동하고 서버가 "0.0.0.0:102" 수신 대기로 표시되고 "192.168.10.5:102"와 함께 클라이언트 연결이 실패합니다.

포트는 일치해야 하며 서버 IP 주소의 경우 "0.0.0.0"으로 설정하여 모든 연결을 허용해야 합니다.

하나의 노트북에서 프로그램을 함께 실행하면 제대로 작동합니다. 문제를 해결하는 데 어려움을 겪고 있습니다. 나는 몇 개의 게시물을 찾아보았는데, 대부분은 서버 IP를 "0.0.0.0"으로 설정하라고 제안했고, 나는 그렇게 했습니다. 그리고 "netstat -anb"는 듣고 있음을 나타냅니다.

연결 시 클라이언트 측 코드

    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";
    }

서버 측

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

원래 질문에 연결 코드를 게시했습니다. 지금은 정말 혼란스럽습니다. 도움을 받기 위해 stackoverflow에서 많은 게시물을 검색했지만 대부분은 다른 포트를 사용하거나(0.0.0.0이 작동해야 함) 서버가 수신 중이 아니라고 말했습니다(netstat에서는 수신 중임을 표시합니다). 이 문제에 어떻게 접근해야 하나요? 더 나은 진단을 위해 어떤 추가 정보를 제공할 수 있나요?

관련 정보