/// <summary> /// 设置IP协议参数。 /// </summary> /// <param name="socket">socket实例,必须在bind之后。</param> /// <param name="level">参数。</param> public static void SetIPProtectionLevel(System.Net.Sockets.Socket socket, System.Net.Sockets.IPProtectionLevel level) { if (level == System.Net.Sockets.IPProtectionLevel.Unspecified) { CommonException.ThrowArgument("无效的level参数:" + level); } if (socket.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) { #if net20 || net35 socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IPv6, (System.Net.Sockets.SocketOptionName) 23, (int)level); #else socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IPv6, System.Net.Sockets.SocketOptionName.IPProtectionLevel, (int)level); #endif } else { if (socket.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) { CommonException.ThrowNotSupported("暂不支持此网络地址类型:" + socket.AddressFamily); } #if net20 || net35 socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IP, (System.Net.Sockets.SocketOptionName) 23, (int)level); #else socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IP, System.Net.Sockets.SocketOptionName.IPProtectionLevel, (int)level); #endif } }
public void SetIPProtectionLevel(System.Net.Sockets.IPProtectionLevel level) { throw null; }