chouxiaoya8100 发表于 2016-05-19 10:33

请教一下,端口复用在这种场景下的问题

有时候搭建服务器,比如有http服务器,应用服务器

2个软件都有配置文件,配置文件里的端口信息默认都是8080,

于是没有正常工作!!!

我的问题是——————假设进程A和进程B都在监听8080,然后都对该端口设置了端口复用的属性!!

第2台机器上的 进程C , 去conect 第一台机器上的8080,

有什么后果?

按照4元组( 源端口、目的端口, 源地址,目的地址) 如果一致的话,那么就是同一个tcp连接了。

端口复用在这种场景下,有什么后果?

chouxiaoya8100 发表于 2016-05-19 12:00

自己up一下吧, 顶起来啊

VIP_fuck 发表于 2016-05-19 13:34

呵呵:mrgreen::mrgreen::mrgreen:

wujiajia 发表于 2016-05-20 14:53

感觉bind的时候就会失败,不可能两个进程都能占用8080吧

chouxiaoya8100 发表于 2016-05-20 16:49

:):):):D:em15:

chouxiaoya8100 发表于 2016-05-21 09:32

继续up up,有高手吗?

folklore 发表于 2016-05-21 11:44

I think that it is impossible to bind 1 port to more than one process in server side.

In client side, it is possible because of that the server address are identified.

drangon 发表于 2016-05-22 10:01

linux和windows行为不一样,

设置端口复用后,linux下依然只能有一个服务程序bind成功,(但可以通过fork的方式实现多进程同时监听)
windows下则多个服务程序可以bind成功,但每一个客户端连接只会有一个服务程序accept到

chouxiaoya8100 发表于 2016-05-22 10:54

回复 8# drangon


   
如果fork的一个某进程中使用了exec家族的函数呢?
也就说说———————— 有点类似windows下的createprocess?

这种情况又会如何?

魔鬼的惊叹 发表于 2016-06-06 19:54

同是tcp不能绑定,监听同一个端口。
页: [1] 2
查看完整版本: 请教一下,端口复用在这种场景下的问题