From 675dc5b693495cb50c3004499a1d1f137722b988 Mon Sep 17 00:00:00 2001 From: Atsushi Eno Date: Tue, 15 Feb 2011 01:54:13 +0900 Subject: support UdpTranspoerSettings.MulticastInterfaceId. This should fix bug #669328. --- .../System.ServiceModel.Discovery.Udp/UdpDuplexChannel.cs | 3 +++ .../System.ServiceModel.Discovery/UdpTransportSettings.cs | 1 + 2 files changed, 4 insertions(+) diff --git a/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery.Udp/UdpDuplexChannel.cs b/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery.Udp/UdpDuplexChannel.cs index d87addf015c..754cf515f7b 100644 --- a/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery.Udp/UdpDuplexChannel.cs +++ b/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery.Udp/UdpDuplexChannel.cs @@ -265,6 +265,9 @@ namespace System.ServiceModel.Discovery.Udp client.EnableBroadcast = true; // FIXME: apply UdpTransportSetting here. + var settings = binding_element.TransportSettings; + if (settings.MulticastInterfaceId != null) + client.Client.SetSocketOption (SocketOptionLevel.Udp, SocketOptionName.MulticastInterface, settings.MulticastInterfaceId); } Func receive_delegate; diff --git a/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery/UdpTransportSettings.cs b/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery/UdpTransportSettings.cs index d6032b1f2fb..78e0e42c9ea 100755 --- a/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery/UdpTransportSettings.cs +++ b/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery/UdpTransportSettings.cs @@ -54,6 +54,7 @@ namespace System.ServiceModel.Discovery MaxPendingMessageCount = source.MaxPendingMessageCount; MaxReceivedMessageSize = source.MaxReceivedMessageSize; MaxUnicastRetransmitCount = source.MaxUnicastRetransmitCount; + MulticastInterfaceId = source.MulticastInterfaceId; SocketReceiveBufferSize = source.SocketReceiveBufferSize; TimeToLive = source.TimeToLive; } -- cgit v1.2.3