socket设置复用方法setReuseAddress的疑问?
来源:4-5 案例实操-TCP传输初始化配置-1
PerryMore
2019-02-27
在课件中有如下的注解
这句话是说,这个设置操作需要在bind方法后进行调用吗?
后来无意中看到源码中的解释
需要在bind操作前进行设置才有效。
所以是我哪里理解错了吗?望解答!
写回答
1回答
-
好吧是表述有误,是需要在bind()之前进行设置的。课程也是这样的意思。
“对于指定bind操作后的套接字有效“
也就是说,这个参数需要和bind连用,如果没有使用bind方式那么是自动分配端口所以就没有用处。
对于bind就是绑定到对应的端口,所以这个参数有效;但是得在bind之前设置。这个参数的意思是:
允许复用之前使用过的端口,并在之前端口未完全关闭的情况下使用;这有风险,比如上一个链接可能存在消息未读取完成,那么这里会收到之前一个消息的数据。
012019-02-27
相似问题