Hallo zusammen,
folgender Sachverhalt:
Ich habe einen Listener, der auf eine IP des Servers auf dem Port 5698 hört.
Der Server wird per TcpClient in C# kontaktiert.
Die Variabel _host spielgelt in diesem Fall den Servernamen wider, wovon alle IPv4 Adressen geholt werden.
Nun ist das Problem, dass der Verbindungsaufbau ewig dauert. Ich vermute dass es daran liegt, dass er zuerst die IP verbinden möchte, welche nicht auf dem Port lauscht.
Wie schaffe ich es nun, dass er pro IP in hostIPs maximal n Sekunden versucht eine Verbindung aufzubauen?
LG Marvin
*Topic verschoben*
folgender Sachverhalt:
Ich habe einen Listener, der auf eine IP des Servers auf dem Port 5698 hört.
Der Server wird per TcpClient in C# kontaktiert.
C#-Quellcode
- IPAddress[] hostIPs = Dns.GetHostEntry(_host).AddressList.Where(addr => addr.AddressFamily == AddressFamily.InterNetwork).ToArray();
- try
- {
- Console.WriteLine("Verbinden mit {0}:{1}", _host, _port);
- IAsyncResult ar = connection.BeginConnect(hostIPs, _port, null, connection);
- WaitHandle wh = ar.AsyncWaitHandle;
- if (wh.WaitOne(timeout,true))
- {
- Console.WriteLine("Verbunden mit {0}:{1}", ((IPEndPoint)connection.Client.RemoteEndPoint).Address, _port);
- IsConnected = true;
- }
- wh.Close();
- }
Die Variabel _host spielgelt in diesem Fall den Servernamen wider, wovon alle IPv4 Adressen geholt werden.
Nun ist das Problem, dass der Verbindungsaufbau ewig dauert. Ich vermute dass es daran liegt, dass er zuerst die IP verbinden möchte, welche nicht auf dem Port lauscht.
Wie schaffe ich es nun, dass er pro IP in hostIPs maximal n Sekunden versucht eine Verbindung aufzubauen?
LG Marvin
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()