我想在网络中使用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说服务器在一段时间后没有反应或连接遇到麻烦,因为连接的主机没有反应。
答案 0 :(得分:0)
问题是我使用了错误的ipAdress:
将端口更改为5550
遇到问题:已禁用防火墙 - &GT;它有用
启用防火墙 - &GT;它也有效
:) happing codeing