TcpClient无法连接到TcpListener

时间:2015-06-02 14:56:13

标签: networking tcpclient tcplistener socketexception

我想在网络中使用TcpListener - TcpClient连接。 它只在我在一台设备上启动应用程序时才有效,当我在网络中使用2个不同的设备时出现此错误:

A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll
Exception: System.Net.Sockets.SocketException (0x80004005): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 127.0.0.1:1300
bei System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
bei System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
 bei System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)`bei System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port)`

我认为这是因为Windows防火墙,但即使我停用防火墙,也存在问题。

服务器:

 ipAddress = Dns.GetHostEntry("localhost").AddressList[1];
                    server = new TcpListener(IPAddress.Any, port);
                    server.Start();

                    clients = new List<TcpClient>();

                    Console.WriteLine("Starte Server ..." + ipAddress + " : " + port);

                    receiver = new List<TCPReceiveMessages>();

我如何接受客户:

  clientAccepter = new Thread(this.accpeting);                
              clientAccepter.Start();

和内部的线程:

private void accpeting()
    {
        //Client socket erstellen
        socketForClient = server.AcceptSocket();

        while (accept)
        {
            //clients werden hinzugefügt
            clients.Add(server.AcceptTcpClient());
            receiver.Add(new TCPReceiveMessages(this));
       }

        socketForClient.Close();
        model.getController().setLoading(false, " ");
    }

客户端正在连接到正确的ipAdress和端口。

我希望有人可以帮助我:)。

编辑1:我将Ip Adress更改为192.168.1.3,因为它在网络内部,现在TcpClient说服务器在一段时间后没有反应或连接遇到麻烦,因为连接的主机没有反应。

1 个答案:

答案 0 :(得分:0)

问题是我使用了错误的ipAdress:

  • 将ip地址更改为192.168.1.3
  • 将端口更改为5550

  • 遇到问题:已禁用防火墙 - &GT;它有用

  • 启用防火墙 - &GT;它也有效

:) happing codeing