TCP介绍
TCP是面向连接的,可靠的,基于字节流的传输控制协议
我们用迅雷下载东西时的向上箭头就是pc端向服务端反馈(应答机制)
TCP特点
- 面向连接:通讯双方必须先建立连接,否则传输不了
- 可靠传输:1. 超市重传 2.错误矫正 3.流量控制和阻塞管
TCP客户端
步骤:
- 创建套接字
- 连接服务端
- 收发数据
- 关闭套接字
import socket
def main():
# 创建套接字
tcp_Client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务端
server_addr = ('192.168.0.115', 8080)
tcp_Client.connect(server_addr)
# 收发数据
while True:
send_data = input('输入需要发送的数据:')
tcp_Client.send(send_data.encode('gbk'))
recv_data = tcp_Client.recv(1024)
print(recv_data.decode('gbk'))
if send_data == 'exit':
break
# 关闭套接字
tcp_Client.close()
if __name__ == '__main__':
main()
TCP服务端
步骤:
- 创建套接字
- 绑定服务端地址
- 主动变被动,变成监听过程(会返回两个:一个是新的套接字,另一个是新的套接字地址)
- 用新的套接字来进行收发数据(以后操作都是用新的套接字,旧的已经断开连接)
- 关闭新旧的套接