/// <summary> /// Check the adapters to see if the adapter we are using has changed IP address. /// </summary> /// <param name="interfaces">An array of interfaces to check against.</param> public void RefreshAdapterAddress(NetworkInterface[] interfaces) { if (NetworkAdapter != null) { foreach (NetworkInterface @interface in interfaces) { if (@interface.Description == NetworkAdapter.Description) { NetworkAdapter = @interface; break; } } var ipProps = NetworkAdapter.GetIPProperties(); foreach (var ip in ipProps.UnicastAddresses) { if (ip.Address.AddressFamily == AddressFamily.InterNetwork) { if (AdapterIPAddress.Equals(ip.Address) == false) { HasAdapterChanged = true; } AdapterIPAddress = ip.Address; break; } } } }
/// <summary> /// Get a regional string format for this connection (Don't use this string as a key). /// </summary> /// <returns></returns> public override string ToString() { return(string.Format(Strings.UdpConnectionInfo_StringFormat, SendIPAddress.ToString(), SendPort, AdapterIPAddress.ToString(), ReceivePort, AdapterName )); }