TCP:面向连接传输协议
可靠
1.三次握手
- 客户端向服务端发送报文请求连接
- 服务端收到请求回复报文可以连接
- 客户端收到回复再次发送报文建立连接
我的理解三次握手就像是一个试探,人家让你连接你才能连接再发送数据
2.四次挥手
- 发送方发送报文请求断开
- 接收方收到请求回复信息收到,并准备断开(处理未完成的事)
- 接收方准备完成,再次发送表示可以断开(处理完了,可以断开)
- 发送方收到确定,发送最终消息完成断开
3.TCP编程流程
- 导入socket包
- 创建IP地址及端口号
- 创建socket套接字
- 绑定端口号和IP地址
- 监听
- 等待处理连接
- 发送或者接收信息
- 关闭连接
服务端
from socket import *
#UDP 设置端口号和IP地址
host=('127.0.0.1',8080)
#创建套接字
socket_tcp=socket(AF_INET,SOCK_STREAM)
#绑定IP及端口号
socket_tcp.bind(host)
#监听最多1024
socket_tcp.listen(5)
#等待客户端连接 connfd为处理该链接的专门套接字 addr地址
print('等待客户端连接')
connfd,addr=socket_tcp.accept()
print('连接的客户端是;',addr)
data=connfd.recv(1024)
print('收到的消息是:',data.decode())
#断开连接
connfd.close()
socket_tcp.close()
客户端
from socket import *
#UDP 设置端口号和IP地址
host=('127.0.0.1',8080)
#创建套接字
socket_tcp=socket()
#连接服务端
socket_tcp.connect(host)
#发送消息
data=input('请输入您要发送的信息;')
socket_tcp.send(data.encode())
#关闭连接
socket_tcp.close()
结果