2012-06-17 8 views
0

Wcf UdpDiscoveryEndpoint를 멀티 캐스트 대신 브로드 캐스트 주소와 함께 사용할 수 있습니까? 브로드 캐스트 주소를 사용해 보았지만 예외가 발생했습니다. WcfDiscovery의 제한 사항입니까? 나는 고객의 서버에서 동일한 문제가 있었다브로드 캐스트 주소가있는 UdpDiscoveryEndpoint

System.Net.Sockets.SocketException (0x80004005): The requested address is not valid in its context 
    at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) 
    at System.Net.Sockets.Socket.Bind(EndPoint localEP) 
    at System.ServiceModel.Channels.UdpUtility.BindSocket(Socket socket, IPEndPoint localEndpoint) 
    at System.ServiceModel.Channels.UdpUtility.CreateListenSocket(IPAddress ipAddress, Int32& port, Int32 receiveBufferSize, Int32 timeToLive, Int32 interfaceIndex, Boolean allowMulticastLoopback, Boolean isLoopbackAdapter) 
    at System.ServiceModel.Channels.UdpChannelListener.InitSockets(Boolean updateListenPort) 
    at System.ServiceModel.Channels.UdpChannelListener..ctor(IUdpTransportSettings settings, BindingContext context) 
    at System.ServiceModel.Channels.UdpTransportBindingElement.BuildChannelListener[TChannel](BindingContext context) 
    at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]() 
    at System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener[TChannel](BindingContext context) 
    at System.ServiceModel.Channels.TextMessageEncodingBindingElement.BuildChannelListener[TChannel](BindingContext context) 
    at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]() 
    at System.ServiceModel.Channels.Binding.BuildChannelListener[TChannel](Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters) 
    at System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession) 
    at System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result) 
    at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) 
    at System.ServiceModel.ServiceHostBase.InitializeRuntime() 
    at System.ServiceModel.ServiceHostBase.OnBeginOpen() 
    at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open() 

답변

0

:

는 예외입니다. 중복 된 서브넷 마스크가 구성된 두 개의 네트워크 장치가 있음이 밝혀졌습니다. 따라서 udpDiscoveryEndpoint는 위의 예외로 청취하기 시작할 수 없습니다.