最佳答案
我有一个关于 TCP/IP 网络客户端套接字的问题
try:
comSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(1)
try:
comSocket.bind(('', 5555))
comSocket.connect()
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(2)
创建的套接字将绑定到端口5555。问题是在结束连接之后
comSocket.shutdown(1)
comSocket.close()
使用 wireshark,我看到套接字从两边用 FIN、 ACK 和 ACK 关闭,我不能再次使用端口。我得到以下错误:
[ERROR] Address already in use
我不知道如何才能立即清除该端口,以便下次我仍然可以使用同一个端口。
comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
Setsockopt 似乎不能解决这个问题 谢谢!