System.Net.Sockets.Socket.CanTryAddressFamily C# (CSharp) Method

CanTryAddressFamily() private method

private CanTryAddressFamily ( AddressFamily family ) : bool
family AddressFamily
return bool
        internal bool CanTryAddressFamily(AddressFamily family)
        {
            return (family == _addressFamily) || (family == AddressFamily.InterNetwork && IsDualMode);
        }
        #endregion

Usage Example

        protected override IPAddress GetNextAddress(out Socket attemptSocket)
        {
            IPAddress rval = null;

            do
            {
                if (_nextAddress >= _addressList.Length)
                {
                    attemptSocket = null;
                    return(null);
                }

                rval = _addressList[_nextAddress];
                ++_nextAddress;
            }while (!_socket.CanTryAddressFamily(rval.AddressFamily));

            if (SocketPal.SupportsMultipleConnectAttempts)
            {
                attemptSocket = _socket;
            }
            else
            {
                attemptSocket = new Socket(_socket.AddressFamily, _socket.SocketType, _socket.ProtocolType);
                if (_socket.AddressFamily == AddressFamily.InterNetworkV6 && _socket.DualMode)
                {
                    attemptSocket.DualMode = true;
                }
            }

            return(rval);
        }
All Usage Examples Of System.Net.Sockets.Socket::CanTryAddressFamily