Ich bin das Senden von Daten an UDP-Socket mit diesem CodeC# UDP Socket die Zeit nehmen, Daten an unbekannten IP senden
Socket udpClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(obj.destAddress), obj.destPort);
byte[] buf = new byte[obj.length];
Array.Copy((byte[])obj.data, buf, obj.length);
int n = udpClient.SendTo(buf, ipEndPoint);
udpClient.Close();
dieser Code funktioniert gut, wenn IP in aktuellem Netzwerk vorhanden ist, aber es dauert 3-5 Sekunden, wenn Ich sende Daten an unbekannte IP-Adresse. Dies verursacht, dass die Hauptanwendung für 3-5 Sekunden hängen bleibt. Was könnte der Grund für dieses Problem sein.
können Sie Ihr Netzwerk mit wireshark verfolgen, um festzustellen, wann arp-Anfragen gesendet werden? oder, Tracepath zu irgendeiner gelegentlichen IP? –
tracert nimmt sich Zeit, wenn ich das IP gefragt habe ... Aber warum das passiert. Sucht UDP nach einer Route, bevor Daten an das Ziel gesendet werden? – Mohsan