在Mac OS X上,我的TIME_WAIT在哪里?
TIME_WAIT在Mac OS X上为否 通常,当关闭TCP连接时,close()首先被调用的那一侧的套接字将保持该TIME_WAIT状态。 当对等方是Mac OS X(Lion)机器时,如果在Mac端首先被调用,则在Mac 上没有TIME_WAIT列出。然而,似乎插座的实际状态,因为试图调用一次(不使用套接字选项)会导致失败。netstat -anclose()TIME_WAITlisten()SO_REUSEADDRlisten() 等待2 * MSL(最大分段生存时间,在Mac OS X Lion上为15秒,如报告的sysctl net.inet.tcp.msl)将清除TIME_WAIT状态,并且listen()可以再次调用而不会出现错误。 为什么看不到插座TIME_WAIT? 测试中 这是Python中的两个简单测试程序。 服务器 #!/usr/bin/env python import socket HOST = '' PORT = 50007 l = socket.socket(socket.AF_INET, socket.SOCK_STREAM) l.bind((HOST, PORT)) l.listen(1) print("Listening on %d" % PORT) (s, _) = l.accept() print("Connected") raw_input("Press <enter> to …