社区
其它技术问题
帖子详情
为什么两个进程不能bind到同一端口
hcconquer
2010-09-27 09:08:40
为什么两个进程不能bind到同一端口
而子进程继承父进程的文件描述符,就可以和父进程一样读写同一个端口呢?
(协议,地址,端口)和进程到底是什么关系?为什么要有这种关系?
...全文
225
5
打赏
收藏
为什么两个进程不能bind到同一端口
为什么两个进程不能bind到同一端口 而子进程继承父进程的文件描述符,就可以和父进程一样读写同一个端口呢? (协议,地址,端口)和进程到底是什么关系?为什么要有这种关系?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ymy1248227142
2012-03-23
打赏
举报
回复
搞不懂。。。。
oyster2008
2010-10-12
打赏
举报
回复
如果每一个进程在bind之前都设置端口可重用,那么对于TCP而言,可以有多个进程bind到同一个端口,只是必须bind到不同的地址。对于UDP而言,多个进程可以bind到完全一样的套接字(地址+端口)上
井朝天
2010-10-12
打赏
举报
回复
[Quote=引用楼主 hcconquer 的回复:]
为什么两个进程不能bind到同一端口
而子进程继承父进程的文件描述符,就可以和父进程一样读写同一个端口呢?
(协议,地址,端口)和进程到底是什么关系?为什么要有这种关系?
[/Quote]
这个从tcp/ip的实现可以得到答案。举个例子:
当一个数据包到来之后,自网卡不断向上层递送,这时要根据数据包中所包含的端口来选择进程号已交给某个进程来处理它,所以只能一个进程。多的话就会引起混乱,不知道要通知哪个进程来接收此数据包了。
kingstarer
2010-09-27
打赏
举报
回复
可以accept
一般是主进程bind后fork多个子进程accept
ayw215
2010-09-27
打赏
举报
回复
端口设置成reuseable的
C++判断
端口
是否被占用的方法
一般检测一个
端口
是否被占用的方法是看
bind
是否成功,其实在Windows中有
两个
API可以获取到当前系统
端口
的占用情况(GetTcpTable/GetUdpTable),利用这
两个
函数就可检测
端口
占用情况。 但在较复杂系统环境下,
端口
占用表可能随时改变,可能存在
两个
以上
进程
使用上述方法检测到
同一
空闲
端口
,在这种情况下,可使用
Bind
方法进行
端口
选择。 一、通过GetTcpTable/GetUdp...
Socket编程中检测
端口
是否被占用
一般检测一个
端口
是否被占用的方法是看
bind
是否成功,其实在Windows中有
两个
API可以获取到当前系统
端口
的占用情况(GetTcpTable/GetUdpTable),利用这
两个
函数就可检测
端口
占用情况。 但在较复杂系统环境下,
端口
占用表可能随时改变,可能存在
两个
以上
进程
使用上述方法检测到
同一
空闲
端口
,在这种情况下,可使用
Bind
方法进行
端口
选择。 一、通过GetTcpTab...
多
进程
网络编程PHP,Linux - 多
进程
网络编程监听一个
端口
SO_REUSEPORT支持多个
进程
或者线程绑定到
同一
端口
每个
进程
可以自己创建socket、
bind
、listen、accept相同的地址和
端口
,各自是独立平等的。让多
进程
监听
同一
个
端口
,各个
进程
中accept socket fd不一样,有新连接建立时,内核只会唤醒一个
进程
来accept,并且保证唤醒的均衡性。...
TCP协议选项读书笔记
首先附上TCP三次握手和四次挥手过程图,结合理解 SO_REUSEADDR,使用这个选项可以让
端口
释放后立即使用,主要针对上图time_wait阶段,在
bind
前设置这个套接字选项。 允许启动一个监听服务器并捆绑其众所周知的
端口
,并且以前建 立的将此
端口
用做它们的本地
端口
的连接仍存在。 这通常是重启监昕服务器时会出现的情况,若不设置此选项,则
bind
时将出错。 允许在
同一
端口
上启动
同一
服务器的多个实例,只要每个实例捆 绑一个不同的本地IP地址即可 允许单个
进程
捆绑
同一
端口
到多个套接口上,只要每个
进程
捆绑
[Linux] 多
进程
网络编程监听一个
端口
SO_REUSEPORT支持多个
进程
或者线程绑定到
同一
端口
每个
进程
可以自己创建socket、
bind
、listen、accept相同的地址和
端口
,各自是独立平等的。让多
进程
监听
同一
个
端口
,各个
进程
中accept socket fd不一样,有新连接建立时,内核只会唤醒一个
进程
来accept,并且保证唤醒的均衡性 <?php $context=stream_context_...
其它技术问题
3,882
社区成员
9,059
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章