首页 > 解决方案 > 无法建立连接,因为目标机器主动拒绝 - TCP

问题描述

我的情况需要帮助。运行 client.Connect() 时,错误是“无法建立连接,因为目标机器主动拒绝了它”。谢谢!

private void btnSend_Click(object sender, EventArgs e)
    {

        IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
        IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 8979);

        Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP );
        client.Connect(ipEndPoint);


        Byte[] data = System.Text.Encoding.ASCII.GetBytes("Hello server\n");
        client.Send(data);


        data = System.Text.Encoding.ASCII.GetBytes("quit\n");
        client.Send(data);

        client.Close();
    }

这是服务器代码,我用 telnet 检查了它,它运行良好。

private void btnListen_Click(object sender, EventArgs e)
    {
        Thread serverThread = new Thread(StartUnsafeThread);
        serverThread.Start();
    }

    void StartUnsafeThread()
    {
        int bytesReceived = 0;
        byte[] recv = new byte[1];

        Socket clientSocket;

        Socket listenerSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

        IPEndPoint ipepServer = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8979);
        listenerSocket.Bind(ipepServer);

        listenerSocket.Listen(-1);

        clientSocket = listenerSocket.Accept();

        showCommand("New client connected");
        while (clientSocket.Connected)
        {
            string text = "";
            do
            {
                bytesReceived = clientSocket.Receive(recv);
                text += Encoding.UTF8.GetString(recv);
            } while (text[text.Length - 1] != '\n');
            showCommand(text);
        }
        listenerSocket.Close();
    }

标签: c#winformstcpsystem.net

解决方案



推荐阅读