在写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!");
}

以IP段作为监听地址相关推荐

  1. linux修改端口监听地址,修改nginx/Tomcat等Web服务的端口监听地址

    我们将一起来学习如何在Linux实例中修改nginx.Tomcat等常见Web服务的端口监听地址. 前提条件 你已经在Linux实例上安装了Web服务器.你可以参考以下文档安装并启动相应的服务: 你已 ...

  2. 修改服务器的AJP监听地址,修改服务器的AJP监听地址

    修改服务器的AJP监听地址 内容精选 换一换 如果IP经过NAT/WAF,则只能获取到NAT/WAF转化后的IP地址,无法获取到NAT/WAF前的IP地址.如果客户端为容器,只能获取到容器所在主机的I ...

  3. ubuntu服务器上,求生之路2服务器如何把监听地址改为0.0.0.0

    今天准备尝试用rcon密码连接控制台的时候,出现了问题,由于游戏监听地址是127.0.1.1,导致无法远程连接,今天自己摸索了下解决了问题. 方法一:由于求生之路2服务器不属于内部自带的服务器,因此网 ...

  4. 前端匹配服务器地址修改文件,修改服务器的监听地址

    修改服务器的监听地址 内容精选 换一换 Atlas 200 DK开发者板支持通过USB接口或者网线与Mind Studio进行连接,连接示例图如图1所示.Ubuntu服务器若想与Atlas 200 D ...

  5. windows mysql 监听地址_MYSQL地址监听问题

    你的位置: 问答吧 -> 服务器 -> 问题详情 MYSQL地址监听问题 RedHat 9 系统 在论坛里找了很久发现通过改/etc/init.d/mysqld这个文件里的 $bindir ...

  6. oracle 添加监听地址,oracle批改监听地址为localhost

    oracle修改监听地址为localhost 修改listener.ora,在11.1.0\db_1\NETWORK\ADMIN # listener.ora Network Configuratio ...

  7. mysql监听地址的设定 —— 解决外部网址无法连接mysql的办法服务器

    今天在进行X项目转移时发现新服务器无法连接旧服务器的mysql. 经过确认,mysql的账号密码以及连接主机设置是没有问题的. 于是在旧服务器上查看了端口绑定状态,如图 3306端口只监听了本地loc ...

  8. 修改服务器的AJP监听地址,实习记录(五) - AJP协议文件读取漏洞

    漏洞介绍 Tomcat在 server.xml中配置了两种连接器:HTTP Connector:监听8080端口,负责建立HTTP连接.在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个 ...

  9. 写文件 —— 将内容按照指定格式写入配置文件(fprintf()函数-》》本机的监听地址列表中port值)

    例如 -- 文件中的配置内容格式如下: listen的文件的内容为 listen  33: listen   24: 参数说明 编辑 int fprintf (FILE* stream, const ...

最新文章

  1. 在ASP.NET中自动给URL地址加上超链接
  2. Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
  3. 灯泡亮度控制单片机_如何延长投影机灯泡使用寿命 延长投影机灯泡使用寿命方法【介绍】...
  4. C++十进制转二进制
  5. 用python画哆啦a梦的代码解释_python画哆啦A梦和大雄
  6. 显示不出中文_优惠拿不出手,销量却吊打对手,宝马3系到底强在哪?
  7. Scala 读取文件
  8. 蚂蚁金服开源自动化测试框架 SOFAACTS
  9. ftpwebrequest 无法加载或初始化请求的服务提供程序_jvm之类加载机制
  10. 【转】03.Dicom 学习笔记-DICOM C-Get 消息服务
  11. “智享未来 知行合一”,开为科技助力企业开启人工智能新时代
  12. 在网页中通过百度地图查看某地的经纬度
  13. Linux使用socket选项的定时器
  14. 34.卷1(套接字联网API)---常用函数
  15. 计算机附件中的超级终端,windows10系统中附件中没有超级终端怎么解决
  16. 定制ERP和通用ERP如何选择?
  17. vue项目中,图片无法显示时或者访问图片出现404时,显示默认图片,但默认图片路径出错
  18. 计算机义务维修事迹材料,学雷锋义务维修电脑活动策划书与学雷锋事迹材料:身边的榜样合集.doc...
  19. Android 系统时间自动更新机制--解决 “时间和日期不准确“
  20. [搜索算法]三分搜索初步

热门文章

  1. 【技术累积】【点】【java】【27】@JSONField
  2. 物理层、数据链路层、介质访问控制子层
  3. 自学python(一)
  4. PAT 1042. 字符统计
  5. vi is failed with error E382: Cannot write, 'buftype' option is set in Linux
  6. [异常解决] ubuntu上安采用sudo启动的firefox,ibus输入法失效问题解决
  7. c#代码实现GPS数据的有效性校验
  8. 40个最好的Tumblr主题
  9. 用java编写一个计算器_用java程序编写一个计算器
  10. 如何在Outlook中的电子邮件上显示快速操作按钮