做实验用哪些国外网站,化妆品网站建设流程图,监控摄像机网站建设,群晖配置wordpress在写Socket通讯服务的时候一般需要Listen某个IP地址端口#xff0c;但这样比较麻烦的就是部署后需要配置相关IP地址信息#xff1b;虽然可以监听Any所有地址#xff0c;但这种对于私有的网络服务来说并不安全。为了在发布的时候节省一些配置工作所以才想到以IP段作为监听地址… 在写Socket通讯服务的时候一般需要Listen某个IP地址端口但这样比较麻烦的就是部署后需要配置相关IP地址信息虽然可以监听Any所有地址但这种对于私有的网络服务来说并不安全。为了在发布的时候节省一些配置工作所以才想到以IP段作为监听地址来配置。 在集群应用中都有着自己的私有网段通过配置IP段让服务自动监听在这IP端上的端口那部署起来就相对方便一些特别是以容器作为管理手段服务集群这样做的好处是推送一份新的实例时服务无须再配置即可确保运行在对应IP段的地址上。 BeetleX的新版本中支持这种监听配置方式可以在IP地址的最后一位配置为*,这样就会监听本机匹配对应网段的IP地址不过暂只支持IPv4。以下是内部实现代码:System.Net.IPAddress address;
if (string.IsNullOrEmpty(Host))
{if (Socket.OSSupportsIPv6 Server.Options.UseIPv6){address IPAddress.IPv6Any;}else{address IPAddress.Any;}
}
else
{if (Host.EndsWith(*)){address MatchIPAddress(Host.Replace(*, ));Host address.ToString();}else{address System.Net.IPAddress.Parse(Host);}
}
private IPAddress MatchIPAddress(string matchIP)
{var host Dns.GetHostEntry(Dns.GetHostName());foreach (var ip in host.AddressList){if (ip.AddressFamily AddressFamily.InterNetwork){if (ip.ToString().IndexOf(matchIP) 0){return ip;}}}throw new Exception($No {matchIP} IPv4 address in the system!);
}