概述
TCP 客户端,须要与服务端建设连贯,连贯建设胜利后才能够进行数据的传输。
实现步骤
1. 导入 socket 包
import socket
2. 创立 tcp 客户端套接字
socket.AF_INET 示意 IPv4 类型
SOCK_STREAM 示意 tcp
tcp_client_socket=socket.socket(socket.AF_INET,socket. SOCK_STREAM)
3. 和服务端建设连贯
connect(host, port) 示意和服务端套接字建设连贯, host 是服务器 ip 地址,port 是应用程序的端口号
tcp_client_socket.connect(("127.0.0.1",9090))
4. 发送数据到服务端
send(data) 示意发送数据,data 是二进制数据
# 筹备发送的数据
send_content = "你好, 我是落雨"
#转换为二进制数据
send_data = send_content.encode('utf-8')
#发送
tcp_client_socket.send(send_data)
5. 接管服务端的数据
recv(buffersize) 示意接收数据, buffersize 是每次接收数据的长度
# 每次接管 1024 字节
recv_data = tcp_client_socket.recv(1024)
#把二进制数据转换
recv_data_decode = recv_data.decode("utf-8")
#打印接管到的内容
print("客户端承受到的数据为:", recv_data_decode)
6. 敞开套接字
tcp_client_socket.close()
代码实现
#tcp 客户端程序开发
import socket
if __name__ == "__main__":
# 1. 创立 tcp 客户端套接字
# socket.AF_INET 示意 IPv4 类型
# SOCK_STREAM 示意 tcp
tcp_client_socket=socket.socket(socket.AF_INET,socket. SOCK_STREAM)
# 2. 和服务端建设链接
tcp_client_socket.connect(("150.158.5.46",9090))
# 3. 发送数据到服务端
send_content = "你好,我是落雨"
send_data = send_content.encode('utf-8')
tcp_client_socket.send(send_data)
# 4. 承受服务端数据
#每次接管 1024 字节
recv_data = tcp_client_socket.recv(1024)
#把二进制数据转换
recv_data_decode = recv_data.decode("utf-8")
#打印接管到的内容
# 5. 敞开套接字
tcp_client_socket.close()