⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 120.htm

📁 unix高级编程原吗
💻 HTM
📖 第 1 页 / 共 3 页
字号:
  <br>

(在另一个终端) <br>

$netstat -a | grep udp <br>



udp     0       0   10.83.66.66;5555        *:* <br>

udp     0       0   *:5555                  *:* <br>

  <br>

  <br>

  <br>

用ifconfig eth0 del 10.83.66.67删掉别名.再重复以上测试2 <br>

  <br>

结论完全一样. <br>

  <br>

  <br>

用tcp,(去掉-u),结论也一样. <br>

  <br>

  <br>

  <br>

顺便问一下,为什么说127.0.0.1与讨论无关呢?难道不能将一个单网卡的 <br>

  <br>

机器看做一个两个网络接口(eth0和lo)吗? <br>

  <br>

  <br>

  <br>

: 然后用这个socks测试 <br>

: 127.0.0.1与这里的讨论无关。 <br>



: 【 在 eepaul (阿龙) 的大作中提到: 】 <br>

: : Single CArd <br>

: : NO ip alias.(I don't down how to set ip alias ,so I don't test it <br>

: : with ip alias) <br>

: .................(以下省略) <br>

  <br>

-- <br>

Rather than Love...Wealth... <br>

or Fame... <br>

     Gave me Truth. <br>

               -Walden <br>

※ 修改:·eepaul 於 08月30日13:17:05 修改本文·[FROM: 202.120.224.18] <br>

※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 202.120.224.18] <br>

发信人: scz (小四), 信区: UNP <br>

标  题: Re: 关于SO_REUSEADDR选项的疑问 <br>

发信站: UNIX编程 (2001年08月30日18:21:12 星期四), 站内信件 <br>

  <br>

照这个测试结论,UNP中强调的第三种情况就更不可 <br>

理解了 <br>

  <br>

大家怎么想?难道是当时作者测试系统和我们现在的实现不同了吗? <br>

  <br>

  <br>

如果一个已经使用ANY,为什么还要另外一个使用单播IP呢? <br>

19章中也不需要ANY啊。只要把所有单播IP各自绑定一次即可, <br>

我要晕了 <br>

  <br>

【 在 eepaul (阿龙) 的大作中提到: 】 <br>

: 【 在 scz (小四) 的大作中提到: 】 <br>

: : 你这个测试与我们希望看到的不符 <br>

: : ifconfig eth0:1 ... <br>

: : 做IP Alias <br>

: : 实际上你应该来一个10.83.66.67的IP别名 <br>

: 搞了一个别名,10.83.66.67.然后 <br>

: 1.不用INADDR_ANY,有别名 <br>

: $sock -s -u 10.83.66.67 8888 <br>

: (在另一个终端上) <br>

: $sock -s -u 10.83.66.66 8888 <br>

: .................(以下省略) <br>

  <br>

-- <br>

  <br>

            也许有一天,他再从海上蓬蓬的雨点中升起, <br>

            飞向西来,再形成一道江流,再冲倒两旁的石壁, <br>

            再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生...... <br>



※ 修改:·scz 於 08月30日18:25:52 修改本文·[FROM: 211.167.65.123] <br>

※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 211.167.65.123] <br>

发信人: ysqcn (岁月无声), 信区: UNP <br>

标  题: Re: 关于SO_REUSEADDR选项的疑问 <br>

发信站: UNIX编程 (2001年08月30日22:18:25 星期四), 站内信件 <br>

  <br>

看源码得出的结论,正好可以解释下面的情况(linux下udp套接口): <br>

udp绑定到相同的端口号(不是同一套接字绑定多次),如果同时满足下面的三个条件: <br>

1、其中的两个套接字绑定的网络接口相同 <br>

2、其中有一个套接字IP为INADDR_ANY,或者其中的两个IP相同 <br>

3、其中有一个套接字没有设置SO_REUSEADDR标志 <br>

则绑定失败,否则就成功 <br>

(如果有不同的情况,通知我喔:-) <br>

  <br>

下面是简要解释: <br>

对clown的情况,两个IP不同,有都不为INADDR_ANY,不满足第二个条件,绑定总是成功, <br>

不论你设不设置SO_REUSEADDR标志。(你不妨将其中之一换为INADDR_ANY看看) <br>

  <br>

: 搞了一个别名,10.83.66.67.然后 <br>

: <br>

: <br>

: 1.不用INADDR_ANY,有别名 <br>



: <br>

: $sock -s -u 10.83.66.67 8888 <br>

: <br>

: (在另一个终端上) <br>

: $sock -s -u 10.83.66.66 8888 <br>

: <br>

: (在另一个终端上) <br>

: $netstat -a | grep udp <br>

: udp     0       0   10.83.66.67:8888        *:* <br>

: udp     0       0   10.83.66.66:8888        *:* <br>

: <br>

不满足上面第二个条件,所以绑定成功 <br>

: <br>

: 2.用INADDR_ANY,有别名. <br>

: <br>

: $sock -s -u 9999 <br>

满足第二个条件 <br>

: <br>

: (在令一个终端上) <br>

: $sock -s -u 10.83.66.66 9999 <br>

: can't bink local address:   Address alread in use <br>

两个都没有设置SO_REUSEADDR,满足第三个条件 <br>



IP别名,同一网络接口,满足第一个条件,绑定失败 <br>

: <br>

: $sock -s -u -A 10.83.66.66 9999 <br>

: can't bind...................................... <br>

: <br>

: 如果两个都用-A选项,就可以 <br>

: $sock -s -u -A 5555 <br>

: <br>

: (在令一个终端) <br>

: $sock -s -u -A 10.83.66.66 5555 <br>

: <br>

两个都设置了SO_REUSEADDR,不满足第三个条件,绑定成功 <br>

: <br>

: (在另一个终端) <br>

: $netstat -a | grep udp <br>

: udp     0       0   10.83.66.66;5555        *:* <br>

: udp     0       0   *:5555                  *:* <br>

: <br>

: <br>

: <br>

: 用ifconfig eth0 del 10.83.66.67删掉别名.再重复以上测试2 <br>

: <br>

: <br>

: 结论完全一样. <br>

: <br>

: <br>

: 用tcp,(去掉-u),结论也一样. <br>

: <br>

: <br>

: <br>

: 顺便问一下,为什么说127.0.0.1与讨论无关呢?难道不能将一个单网卡的 <br>

: <br>

: 机器看做一个两个网络接口(eth0和lo)吗? <br>

: <br>

: <br>

: <br>

: : 然后用这个socks测试 <br>

: : 127.0.0.1与这里的讨论无关。 <br>

: : 【 在 eepaul (阿龙) 的大作中提到: 】 <br>

: : : Single CArd <br>

: : : NO ip alias.(I don't down how to set ip alias ,so I don't test it <br>

: : : with ip alias) <br>

: : .................(以下省略) <br>

: <br>

: -- <br>

: -- <br>

: Rather than Love...Wealth... <br>

: or Fame... <br>

:      Gave me Truth. <br>

:                -Walden <br>

: ※ 修改:·eepaul 於 08月30日13:17:05 修改本文·[FROM: 202.120.224.18] <br>

※ 修改:·ysqcn 於 08月30日22:28:51 修改本文·[FROM: 211.69.197.81] <br>

: ※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 202.120.224.18] <br>

发信人: scz (小四), 信区: UNP <br>

标  题: Re: 关于SO_REUSEADDR选项的疑问 <br>

发信站: UNIX编程 (2001年08月31日08:48:07 星期五), 站内信件 <br>

  <br>

我们的疑问和你讲的这个基本上没有直接关系 <br>

  <br>

我们的疑问仅仅是在不同IP上绑定同一个端口 <br>

和是否使用这个标志是无关的,可为什么先生要专门列出 <br>

第三种情况, <br>

  <br>

  <br>

【 在 ysqcn (岁月无声) 的大作中提到: 】 <br>

: 看源码得出的结论,正好可以解释下面的情况(linux下udp套接口): <br>

: udp绑定到相同的端口号(不是同一套接字绑定多次),如果同时满足下面的三个条件: <br>

: 1、其中的两个套接字绑定的网络接口相同 <br>



: 2、其中有一个套接字IP为INADDR_ANY,或者其中的两个IP相同 <br>

: 3、其中有一个套接字没有设置SO_REUSEADDR标志 <br>

: 则绑定失败,否则就成功 <br>

: (如果有不同的情况,通知我喔:-) <br>

: 下面是简要解释: <br>

: 对clown的情况,两个IP不同,有都不为INADDR_ANY,不满足第二个条件,绑定总是成功 <br>

, <br>

: 不论你设不设置SO_REUSEADDR标志。(你不妨将其中之一换为INADDR_ANY看看) <br>

: .................(以下省略) <br>

  <br>

-- <br>

  <br>

            也许有一天,他再从海上蓬蓬的雨点中升起, <br>

            飞向西来,再形成一道江流,再冲倒两旁的石壁, <br>

            再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生...... <br>

※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 211.167.65.123] 发信人: clo <br>

wn (梧桐叶), 信区: UNP <br>

标  题: Re: 关于SO_REUSEADDR选项的疑问 <br>

发信站: UNIX编程 (2001年08月31日08:55:38 星期五), 站内信件 <br>

  <br>

他说的还是很有价值的,我虽然知道某些情况可以不使用该选项, <br>

但是他指出了,哪些情况下需要使用该选项,因此对于以后使用该选项 <br>



是有很大帮助的,最起码我们知道该选想到地用在哪些情况。 <br>

【 在 scz (小四) 的大作中提到: 】 <br>

: 我们的疑问和你讲的这个基本上没有直接关系 <br>

: 我们的疑问仅仅是在不同IP上绑定同一个端口 <br>

: 和是否使用这个标志是无关的,可为什么先生要专门列出 <br>

: 第三种情况, <br>

: 【 在 ysqcn (岁月无声) 的大作中提到: 】 <br>

: : 看源码得出的结论,正好可以解释下面的情况(linux下udp套接口): <br>

: : udp绑定到相同的端口号(不是同一套接字绑定多次),如果同时满足下面的三个条件 <br>

: <br>

: : 1、其中的两个套接字绑定的网络接口相同 <br>

: : 2、其中有一个套接字IP为INADDR_ANY,或者其中的两个IP相同 <br>

: : 3、其中有一个套接字没有设置SO_REUSEADDR标志 <br>

: .................(以下省略) <br>

-- <br>

※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 202.114.1.61] 发信人: scz ( <br>

小四), 信区: UNP <br>

标  题: Re: 关于SO_REUSEADDR选项的疑问 <br>

发信站: UNIX编程 (2001年08月31日12:52:32 星期五), 站内信件 <br>

  <br>

  <br>

【 在 clown (梧桐叶) 的大作中提到: 】 <br>



: 他说的还是很有价值的,我虽然知道某些情况可以不使用该选项, <br>

  <br>

现代server设计都会使用这个标志的 <br>

只要是准备对付第一种情况。除非不打算考虑第一种情况 <br>

  <br>

  <br>

: 但是他指出了,哪些情况下需要使用该选项,因此对于以后使用该选项 <br>

: 是有很大帮助的,最起码我们知道该选想到地用在哪些情况。 <br>

  <br>

你在设计什么有实际价值的应用的时候不会使用这个标志?或者说使用了这个 <br>

标志给你带来了负影响?如果你没有这种负影响的例子,那是什么原因 <br>

让你还需要选择不使用这个标志呢?不是很理解。何况作为服务器,不考虑第 <br>

一种情况是不可想象的。 <br>

  <br>

: 【 在 scz (小四) 的大作中提到: 】 <br>

: : 我们的疑问和你讲的这个基本上没有直接关系 <br>

: : 我们的疑问仅仅是在不同IP上绑定同一个端口 <br>

: : 和是否使用这个标志是无关的,可为什么先生要专门列出 <br>

: : 第三种情况, <br>

: : .................(以下省略) <br>

  <br>

  <br>



-- <br>

  <br>

            也许有一天,他再从海上蓬蓬的雨点中升起, <br>

            飞向西来,再形成一道江流,再冲倒两旁的石壁, <br>

            再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生...... <br>

※ 来源:·UNIX编程 www.tiaozhan.com/unixbbs/·[FROM: 211.167.65.123] <br>

</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="5.htm">上一层</a>][<a href="121.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -