当前位置: 首页> 娱乐> 八卦 > 国家卫生健康委电话号码_店面设计多少钱一个平方_百度云搜索引擎入口_友情链接发布网

国家卫生健康委电话号码_店面设计多少钱一个平方_百度云搜索引擎入口_友情链接发布网

时间:2025/7/11 2:47:31来源:https://blog.csdn.net/weixin_41728451/article/details/143678209 浏览次数:0次
国家卫生健康委电话号码_店面设计多少钱一个平方_百度云搜索引擎入口_友情链接发布网

如何验证IP、网关、子网掩码的验证逻辑及程序(.Net)是否在同一个网段内,其原理简单来说就是,分别获通过IP和子网掩码获取网络地址,网关和子网掩码获取网路地址,将两个网络地址进行比对,验证是否一致,一致则是同一网段可以通讯。
获取网络地址的方式,则是通过将IP、网关、子网掩码分别转化为二进制,取&值即可获得网络地址。

using System;
using System.Net;
using System.Net.NetworkInformation;class Program
{static void Main(){string ipString = "192.168.2.10"; // 要验证的IP地址  string subnetMaskString = "255.255.252.0"; // 子网掩码  string gatewayString = "192.168.1.1"; // 网关  Console.WriteLine($"IP的二进制:{PrintIpAddressInBinary(ipString)}");Console.WriteLine($"网关的二进制:{PrintIpAddressInBinary(gatewayString)}");Console.WriteLine($"子网掩码的二进制:{PrintIpAddressInBinary(subnetMaskString)}");IPAddress ip = IPAddress.Parse(ipString);IPAddress subnetMask = IPAddress.Parse(subnetMaskString);IPAddress gateway = IPAddress.Parse(gatewayString);// 计算网络地址  IPAddress networkAddress = GetNetworkAddress(ip, subnetMask);Console.WriteLine($"IP的网络地址:{networkAddress} ,二进制:{PrintIpAddressInBinary(networkAddress.ToString())}");// 计算网关的网络地址  IPAddress gatewayNetworkAddress = GetNetworkAddress(gateway, subnetMask);Console.WriteLine($"网关的网络地址  :{gatewayNetworkAddress} ,二进制:{PrintIpAddressInBinary(gatewayNetworkAddress.ToString())}");// 输出结果  if (networkAddress.Equals(gatewayNetworkAddress)){Console.WriteLine("IP、子网掩码和网关在同一网段,后续可以进行通讯测试。");// 测试通讯  TestPing(gateway);}else{Console.WriteLine("IP、子网掩码和网关不在同一网段。");}}static IPAddress GetNetworkAddress(IPAddress ip, IPAddress subnetMask){byte[] ipBytes = ip.GetAddressBytes();byte[] subnetMaskBytes = subnetMask.GetAddressBytes();byte[] networkAddressBytes = new byte[ipBytes.Length];for (int i = 0; i < ipBytes.Length; i++){networkAddressBytes[i] = (byte)(ipBytes[i] & subnetMaskBytes[i]);}return new IPAddress(networkAddressBytes);}// 方法:打印 IP 地址的二进制表示  static string PrintIpAddressInBinary(string ipString){var sb = new StringBuilder();IPAddress ipAddress = IPAddress.Parse(ipString); // 将字符串转换为 IPAddress 对象  // 获取 IP 地址的字节数组  byte[] ipBytes = ipAddress.GetAddressBytes();for (int i = 0; i < ipBytes.Length; i++){// 将当前字节转换为二进制字符串并补充至8位  string binaryString = Convert.ToString(ipBytes[i], 2).PadLeft(8, '0');sb.Append(binaryString);if (i < ipBytes.Length - 1){sb.Append(".");}}return sb.ToString();}static void TestPing(IPAddress ipAddress){using (Ping ping = new Ping()){try{PingReply reply = ping.Send(ipAddress);if (reply.Status == IPStatus.Success){Console.WriteLine($"成功与 {ipAddress} 通讯。");}else{Console.WriteLine($"未能与 {ipAddress} 通讯: {reply.Status}");}}catch (Exception ex){Console.WriteLine($"通讯过程中发生错误: {ex.Message}");}}}
}
关键字:国家卫生健康委电话号码_店面设计多少钱一个平方_百度云搜索引擎入口_友情链接发布网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: