关于SO_ReuseAddr,搞了我两天搞不定
用winAPI写的,服务器、客户端全部采用异步选择模式
客户端想用固定端口连接服务器,客户端套接字创建后设置SO_ReuseAddr为true,然后bind,connect
客户端主动断开连接后,服务器接收到消息,同时把服务器的套接字也关闭
但客户端再次连接时仍然报10048错误,地址已使用
客户端断开连接后,的确套接字处于time_wait状态,但使用SO_ReuseAddr后,并不像资料上说明的可以再连接嘛
注明:
客户端、服务器运行在同一机器上,采用127。0。0。1
服务端如果设置SO_ReuseAddr后,断开监听套接字,再在同一地址上连接到是可以
这个问题搞了两天还是不行,求高手解答
[解决办法]
SO_ReuseAddr 可以让你重用本地传输地址(IP+端口),但远端的传输地址要不同。
你这里服务端的地址端口不变,用SO_ReuseAddr还是连不了的。
- 千里孤行