https://bugzilla.novell.com/show_bug.cgi?id=643475
https://bugzilla.novell.com/show_bug.cgi?id=643475#c1 --- Comment #1 from Antonio Anzivino <[email protected]> 2010-10-04 11:14:05 UTC --- We just submitted a workaround into our code repository http://logbus-ng.svn.sourceforge.net/viewvc/logbus-ng?view=revision&revision=396 Everyone experiencing the same problem could use our approach: scan the list of running UDP listeners via IPGlobalProperties For each port in the range of known ports, try to find it in the active sockets list ;-) #if MONO IPEndPoint[] eps = IPGlobalProperties.GetIPGlobalProperties().GetActiveUdpListeners(); #endif for (int i = START_PORT; i <= END_PORT; i++) { #if MONO //Workaround to Mono bug 64375 bool found = false; for (int c = 0; c < eps.Length; c++) { if (eps[c].Port == i && (eps[c].Address.Equals(IPAddress.Any) || eps[c].Address.Equals(localIp))) { found = true; break; } } if (!found) { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socket.Bind(new IPEndPoint(localIp, i)); _client = new UdpClient { Client = socket }; break; } #else try { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) { ExclusiveAddressUse = true }; socket.Bind(new IPEndPoint(localIp, i)); _client = new UdpClient { Client = socket }; break; } catch (SocketException) { } #endif } Adapt this code to your needs and voilĂ -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
