TCP的狀態轉化過程(11種狀態)以及TIME_WAIT狀態html
高性能網絡 | 你所不知道的TIME_WAIT和CLOSE_WAITpython
我相信不少都遇到過這個問題。一旦有用戶在喊:網絡變慢了。第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下。哎呀媽呀,幾千個TIME_WAIT.
TIME-wait很可怕嗎,內核優化socket
TCP鏈接的「三次握手」與「四次揮手」
TCP的11種狀態轉換
tcp
服務端: #!/usr/bin/env python # coding=utf-8 import socket # 使用AF_INET家族 tcp phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 買手機 phone.bind(("192.168.1.101", 8001)) # 綁定手機卡 phone.listen(5) # 開機 conn, addr = phone.accept() # 等電話 msg = conn.recv(1024) # 收信息 conn.send(msg.upper()) # 發信息 print("客戶端發來的消息是", msg) conn.close() # 掛電話 phone.close() # 關機
客戶端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) phone.connect(('192.168.1.101', 8001)) phone.send("hello".encode("utf-8")) data = phone.recv(1024) print("收到服務端發來的消息: ", data)
三次握手目的 創建兩條數據線路.
三次握手,期間不夾雜數據傳輸
四次揮手,誰先把數據傳輸完成,誰就主動斷開鏈接. 由於期間夾雜數據傳輸,所以須要四次.
.net