从源码分析Node的Cluster模块
前段时间,公司的洋彬哥老哥遇到一个问题,大概就是本机有个node的http服务器,但是每次请求这个服务器的端口返回的数据都报错,一看返回的数据根本不是http的报文格式,然后经过一番排查发现是另外一个服务器同时监听了http服务器的这个端口。这个时候洋彬老哥就很奇怪,为啥我这个端口明明使用了,却还是可以启动呢?这个时候我根据以前看libuv源码的经验解释了这个问题,因为uv__tcp_bind中,对socket会设置SO_REUSEADDR选项,使得端口可以复用,但是tcp中地址不能复用,因为那两个监听虽然是同一个端口,但是地址不同,所以可以同时存在。这个问题让我不禁想到了之前看一篇文章里有人留言说这个选项是cluster内部复用端口的原因,当时没有细细研究以为说的是SO_REUSEPORT也
继续阅读与本文标签相同的文章
上一篇 :
Maven使用经验总结(持续更新)
下一篇 :
一起聊聊图像质量和美学评估的数据集
-
新能力|营销利器“轻会员”来袭!
2026-05-19栏目: 教程
-
Serverless 与容器决战在即?有了弹性伸缩就不一样了
2026-05-19栏目: 教程
-
2pc 3pc 详述
2026-05-19栏目: 教程
-
云产品权限细粒度设置
2026-05-19栏目: 教程
-
一起聊聊图像质量和美学评估的数据集
2026-05-19栏目: 教程
