- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我曾经认为使用SocketOptionName.ReuseAddress
,我可以重用一个处于TIME_WAIT
状态的端口。但是我试了一下,好像没什么效果。
如果我使用 netstat
检查套接字,它显示套接字处于 TIME_WAIT
状态,我立即再次运行客户端,我得到异常:
Only one usage of each socket address (protocol/network address/port) is normally permitted 172.16.16.16:12345
我无法从中得到任何东西。请详细说明 SocketOptionName.ReuseAddress 有什么用?
最佳答案
为什么首先要绑定(bind)客户端端口?您可能不需要,如果您不需要,那么允许操作系统为您选择一个临时端口会更好,这样一开始您就不会遇到这个问题。
其次,为什么您认为重用一个 TIME_WAIT
的套接字是个好主意;状态存在是有正当理由的...
至于为什么它对您不起作用,请查看我在回答类似问题时发布的链接:When binding a client TCP socket to a specific local port with Winsock, SO_REUSEADDR does not have any effect
关于.net - SocketOptionName.ReuseAddress 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2763933/
我曾经认为使用SocketOptionName.ReuseAddress,我可以重用一个处于TIME_WAIT状态的端口。但是我试了一下,好像没什么效果。 如果我使用 netstat 检查套接字,它显
使用 Netty 时,令我惊讶的是,如果我使用 reuseAddress 选项,它允许 ServerSocket 绑定(bind)到同一地址而不会引发“已经绑定(bind)异常” Se
我是一名优秀的程序员,十分优秀!