当前位置: 首页>>代码示例>>C#>>正文


C# IPAddress.ThrowIfNull方法代码示例

本文整理汇总了C#中System.Net.IPAddress.ThrowIfNull方法的典型用法代码示例。如果您正苦于以下问题:C# IPAddress.ThrowIfNull方法的具体用法?C# IPAddress.ThrowIfNull怎么用?C# IPAddress.ThrowIfNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Net.IPAddress的用法示例。


在下文中一共展示了IPAddress.ThrowIfNull方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InSameSubnet

		/// <summary>
		/// Determines whether the IP address is in the same subnet as the
		/// specified IP address.
		/// </summary>
		/// <param name="address">The IPAddress instance this is being called
		/// for.</param>
		/// <param name="other">The IP address to determine whether it is in the same
		/// subnet.</param>
		/// <param name="netmask">The subnetmask to apply.</param>
		/// <returns>true if both IP address are located in the same subnet; Otherwise
		/// false.</returns>
		/// <exception cref="ArgumentNullException">The other parameter or the netmask
		/// parameter is null.</exception>
		/// <exception cref="ArgumentException">The netmask and IP address must be
		/// of the same address family.</exception>
		/// <remarks>This is an extension method for the IPAddress class.</remarks>
		public static bool InSameSubnet(this IPAddress address, IPAddress other,
			IPAddress netmask) {
			other.ThrowIfNull("other");
			netmask.ThrowIfNull("netmask");

			return address.And(netmask).Equals(other.And(netmask));
		}
开发者ID:BlueBasher,项目名称:S22.Xmpp,代码行数:23,代码来源:IPAddressExtensions.cs

示例2: ValidateResponseAsync

		public async Task<ValidateResponseResult> ValidateResponseAsync(IPAddress ipAddress, string challenge, string response)
		{
			ipAddress.ThrowIfNull("ipAddress");
			challenge.ThrowIfNull("challenge");
			response.ThrowIfNull("response");

			if (!_configuration.Enabled)
			{
				return ValidateResponseResult.ServiceDisabled;
			}

			var requestMessage =
				new HttpRequestMessage(HttpMethod.Post, _configuration.Url)
				{
					Content = new FormUrlEncodedContent(
						new[]
						{
							new KeyValuePair<string, string>("privatekey", _configuration.PrivateKey),
							new KeyValuePair<string, string>("remoteip", ipAddress.ToString()),
							new KeyValuePair<string, string>("challenge", challenge),
							new KeyValuePair<string, string>("response", response)
						})
				};

			requestMessage.Headers.Add("User-Agent", _configuration.UserAgent);

			HttpResponseMessage responseMessage = await HttpClientSingleton.Instance.SendAsync(requestMessage);
			string responseContent = await responseMessage.Content.ReadAsStringAsync();
			string[] lines = responseContent.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

			return lines.Length > 0 && lines[0] == "true" ? ValidateResponseResult.Valid : ValidateResponseResult.Invalid;
		}
开发者ID:nathan-alden,项目名称:junior-application-services,代码行数:32,代码来源:ReCaptchaValidator.cs

示例3: And

		/// <summary>
		/// Bitwise ANDs the IP address with the specified netmask.
		/// </summary>
		/// <param name="address">The IPAddress instance to AND with the specified
		/// netmask.</param>
		/// <param name="netmask">The netmask to bitwise AND with the IP
		/// address.</param>
		/// <returns>The result of the bitwise AND.</returns>
		/// <exception cref="ArgumentNullException">The netmask parameter is
		/// null.</exception>
		/// <exception cref="ArgumentException">The netmask and IP address must be
		/// of the same address family.</exception>
		/// <remarks>This is an extension method for the IPAddress class.</remarks>
		static IPAddress And(this IPAddress address, IPAddress netmask) {
			netmask.ThrowIfNull("netmask");
			if (address.AddressFamily != netmask.AddressFamily)
				throw new ArgumentException("The address family of the specified netmask " +
					"is different from the address family of the IP address.");
			byte[] buffer = address.GetAddressBytes();
			byte[] other = netmask.GetAddressBytes();
			for (int i = 0; i < buffer.Length; i++)
				buffer[i] = (byte) (buffer[i] & other[i]);
			return new IPAddress(buffer);
		}
开发者ID:BlueBasher,项目名称:S22.Xmpp,代码行数:24,代码来源:IPAddressExtensions.cs

示例4: SocksReply

		/// <summary>
		/// Initializes a new instance of the SocksReply class.
		/// </summary>
		/// <param name="status">The status of the response.</param>
		/// <param name="address">The server bound IP address.</param>
		/// <param name="port">The server bound port.</param>
		/// <exception cref="ArgumentNullException">The address parameter
		/// is null.</exception>
		public SocksReply(ReplyStatus status, IPAddress address, ushort port) {
			address.ThrowIfNull("address");
			Status = status;
			ATyp = address.AddressFamily == AddressFamily.InterNetworkV6 ?
				ATyp.IPv6 : ATyp.IPv4;
			Address = address;
			Port = port;
		}
开发者ID:rafaneri,项目名称:Sharp.Xmpp,代码行数:16,代码来源:SocksReply.cs

示例5: Socks5Client

 /// <summary>
 /// Initializes a new instance of the Socks5Client class and connects to the
 /// specified port on the specified host.
 /// </summary>
 /// <param name="address">The IP address of the remote host to which you intend
 /// to connect.</param>
 /// <param name="port">The port number of the remote host to which you intend
 /// to connect.</param>
 /// <param name="username">The username with which to authenticate if the
 /// server requires authentication.</param>
 /// <param name="password">The password with which to authenticate if the
 /// server requires authentication.</param>
 /// <exception cref="ArgumentNullException">The address parameter is
 /// null.</exception>
 /// <exception cref="ArgumentOutOfRangeException">The port parameter is not
 /// between 0 and 65535.</exception>
 /// <exception cref="SocketException">An error occurred when accessing the
 /// socket.</exception>
 /// <exception cref="Socks5Exception">The server returned invalid data, or
 /// authentication with the SOCKS5 server failed.</exception>
 public Socks5Client(IPAddress address, int port, string username = null,
     string password = null)
 {
     address.ThrowIfNull("address");
     port.ThrowIfOutOfRange("port", 0, 65535);
     Username = username;
     Password = password;
     client = new TcpClient();
     client.Connect(address, port);
     InitializeConnection();
 }
开发者ID:agimenezwally,项目名称:Sharp.Xmpp,代码行数:31,代码来源:Socks5Client.cs

示例6: BindingResponse

		/// <summary>
		/// Initializes a new instance of the BindingResponse class.
		/// </summary>
		/// <param name="id">The transaction id of the binding response.</param>
		/// <param name="address">The IP address containd in the binding
		/// response message.</param>
		/// <exception cref="ArgumentNullException">The id parameter or the
		/// address parameter is null.</exception>
		internal BindingResponse(byte[] id, IPAddress address) {
			id.ThrowIfNull("id");
			address.ThrowIfNull("address");
			Id = id;
			Address = address;
		}
开发者ID:rafaneri,项目名称:Sharp.Xmpp,代码行数:14,代码来源:BindingResponse.cs

示例7: Query

 /// <summary>
 /// Queries the STUN server with the specified IP address for the public IP
 /// address of the requesting host.
 /// </summary>
 /// <param name="address">The IP address of the STUN server to query.</param>
 /// <param name="port">The port on which the STUN service is running at
 /// the specified host.</param>
 /// <param name="timeout">The maximum number of milliseconds to wait for
 /// a server response before returning to the caller.</param>
 /// <returns>The public IP address of the requesting host.</returns>
 /// <exception cref="ArgumentNullException">The address parameter is
 /// null.</exception>
 /// <exception cref="ArgumentOutOfRangeException">The port is not between
 /// 0 and 65535.</exception>
 /// <exception cref="ProtocolViolationException">The specified STUN
 /// server returned an erroneous response.</exception>
 /// <exception cref="SocketException">The specified hostname could not be
 /// resolved, or an error occurred while sending the request or while
 /// retrieving the response, or the specified STUN server could not be
 /// reached.</exception>
 /// <exception cref="TimeoutException">The specified timeout has
 /// expired.</exception>
 public static IPAddress Query(IPAddress address, int port = 3478,
     int timeout = Int32.MaxValue)
 {
     address.ThrowIfNull("address");
     port.ThrowIfOutOfRange("port", 0, 65535);
     IPEndPoint IpEp = new IPEndPoint(address, port);
     var request = new BindingRequest().Serialize();
     int rto = initialRto;
     using (UdpClient udp = new UdpClient())
     {
         // The timeout mechanism is similar to TCP. For details,
         // refer to RFC 5389, Section 7.2.1. Sending over UDP.
         for (int tries = 0; tries < rc; tries++)
         {
             // Transmit the datagram.
             udp.Send(request, request.Length, IpEp);
             // Set the timeout value on the socket.
             udp.Client.ReceiveTimeout = rto;
             try
             {
                 byte[] datagram = udp.Receive(ref IpEp);
                 return BindingResponse.Deserialize(datagram).Address;
             }
             catch (SocketException e)
             {
                 if (e.ErrorCode != connectionTimeout)
                     throw;
                 timeout = timeout - rto;
                 if (timeout <= 0)
                     throw new TimeoutException("The timeout has expired.");
             }
             catch (SerializationException)
             {
                 throw new ProtocolViolationException("The STUN " +
                     "Binding Response is invalid.");
             }
             // Increase the timeout value.
             if (tries < (rc - 1))
                 rto = rto * 2;
             else
                 rto = initialRto * rm;
             if (timeout < rto)
                 rto = timeout;
         }
         // Give up.
         throw new SocketException(connectionTimeout);
     }
 }
开发者ID:agimenezwally,项目名称:Sharp.Xmpp,代码行数:70,代码来源:StunClient.cs

示例8: SocksRequest

		/// <summary>
		/// Initializes a new instance of the SocksRequest class.
		/// </summary>
		/// <param name="command">The command of the request.</param>
		/// <param name="destination">The IP address of the destination host.</param>
		/// <param name="port">The port of the destination host.</param>
		/// <exception cref="ArgumentNullException">The destination parameter
		/// is null.</exception>
		public SocksRequest(SocksCommand command, IPAddress destination,
			ushort port) {
			destination.ThrowIfNull("destination");
			Command = command;
			ATyp = destination.AddressFamily == AddressFamily.InterNetworkV6 ?
				ATyp.IPv6 : ATyp.IPv4;
			Destination = destination;
			Port = port;
		}
开发者ID:rafaneri,项目名称:Sharp.Xmpp,代码行数:17,代码来源:SocksRequest.cs


注:本文中的System.Net.IPAddress.ThrowIfNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。