[svc]tcp三次握手四次挥手&tcp的11种状态(半连接)&tcp的time-wait
TCP的状态转化过程(11种状态)以及TIME_WAIT状态
高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT
我相信很多都遇到过这个问题。一旦有用户在喊:网络变慢了。第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下。哎呀妈呀,几千个TIME_WAIT.
TCP连接的“三次握手”与“四次挥手”
TCP的11种状态转换
pysocket编程
服务端:
#!/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)
三次握手目的 建立两条数据线路.
三次握手,期间不夹杂数据传输
四次挥手,谁先把数据传输完成,谁就主动断开连接. 因为期间夹杂数据传输,因此需要四次.