在一些防火墙或端口管理工具中经常会看到连接状态为CLOSED CLOSE_WITE LAST_ACK等的进程, 虽然状态就那么很少的几个, 而且看字面意思也能猜个大概, 但没做过Socket编程的朋友却很少能准确的知道每种状态的准确含义, 我也是经常把其中几项搞混. 下面把几种状态的说明整理了一下, 也许会对有的朋友有点用:
CLOSED | 没有使用这个套接字 |
LISTEN | 套接字正在监听入境连接 |
SYN_SENT | 套接字正在试图主动建立连接 |
SYN_RECEIVED | 正在处于连接的初始同步状态 |
ESTABLISHED | 连接已建立 |
CLOSE_WAIT | 远程套接字已经关闭:正在等待关闭这个套接字 |
FIN_WAIT_1 | 套接字已关闭,正在关闭连接 |
CLOSING | 套接字已关闭,远程套接字正在关闭,暂时挂起关闭确认 |
LAST_ACK | 远程套接字已关闭,正在等待本地套接字的关闭确认 |
FIN_WAIT_2 | 套接字已关闭,正在等待远程套接字关闭 |
TIME_WAIT | 这个套接字已经关闭,正在等待远程套接字的关闭传送 |