1.Socket介绍
Socket简称套接字,是程序之间通信的一个工具,好比现实中的电话。只要跟网络相关的软件程序都使用Socket
2.TCP介绍
TCP简称传输控制协议,它是面向连接的、可靠的、基于字节流的传输层通信协议。
·面向连接:通信双方必须先建立连接才能进行数据传输,并且双方都会为此次连接准备必要的资源用来记录连接的状态和信息,当数据传输之后,必须断开连接
·可靠传输:
·TCP采用发送应答机制
·超时重传
·错误校验
·流量控制和阻塞管理
3.TCP客户端开发流程
3.1.创建客户端套接字对象
3.2.和服务端套接字建立连接
3.3.发送数据
3.4.接收数据
3.5.关闭客户端套接字
代码:
import socket
# 创建客户端套接字对象
# socket.AF_INET:表示选择ipv4的IP地址、socket.SOCK_STREAM:表示流式传输协议,即TCP传输协议
tcp_client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 和服务端建立连接
tcp_client_socket.connect(("192.168.192.1",8080))
print("连接成功!")
while True:
send_data = input("请输入要发送的数据:")
if send_data=='q':
break
# 发送数据
tcp_client_socket.send(send_data.encode("gbk"))
# 接收数据
recv_data = tcp_client_socket.recv(1024)
print(recv_data.decode("gbk"))
# ·关闭套接字
tcp_client_socket.close()
在网络调试软件 NetAssist.exe 进行测试结果如下:
客户端与服务器建立连接后,二者互相之间可以传输数据,直至断开连接