SocketException:由于目标计算机主动拒绝它,因此无法建立连接

时间:2018-04-28 11:26:17

标签: c# sockets exception tcp

所以,我在Stackoverflow上看到了几个与此有关的问题,但是(a)它们都没有解决我的问题,而且(b)他们没有做我在大多数时候做的事情他们所以,我有一个客户端和服务器Windows窗体应用程序,我只想让它们连接起来。这是服务器的代码:

private void connectButton_Click(object sender, EventArgs e) {
    // Attempt to connect
    try {
        IPAddress ip = IPAddress.Parse(ipBox.Text);
        TcpListener listener = new TcpListener(ip, 8000);
        listener.Start();
        messageBox.Text = "Server started! Waiting for connection...";
        messageBox.Refresh();
        Socket socket = listener.AcceptSocket();
        messageBox.Text += "\nConnection accepted from " + socket.RemoteEndPoint;
    }
    catch (Exception eg) {
        messageBox.Text = Convert.ToString(eg);
    }
}

这一切都很有效,我会更多地介绍如何获取IP以及所有这些,但它非常简单,而且我已经知道这是有效的。因此,当您运行此按钮并按下连接按钮时,它基本上会发送它已启动的消息。这是客户端的代码:

private void connectButton_Click(object sender, EventArgs e) {
    try {
        TcpClient tcp = new TcpClient();
        messageBox.Text = "Connecting....";
        messageBox.Refresh();
        tcp.Connect(ipBox.Text, 8001);
        messageBox.Text += "\nConnected!";
        messageBox.Refresh();
    }
    catch (Exception eg) {
        messageBox.Text += Convert.ToString(eg);
        messageBox.Refresh();
    }
}

这发送它正在连接,然后几秒钟后发送error。我听说这是因为服务器没有收听(我已经让程序通过防火墙了),但我在服务器上有这个:Socket socket = listener.AcceptSocket();。我该如何解决这个问题?

0 个答案:

没有答案