龙空技术网

Python实现TCP服务端与客户端相互通信

kayson1001 58

前言:

当前你们对“bindpython”可能比较着重,姐妹们都需要知道一些“bindpython”的相关知识。那么小编也在网络上汇集了一些对于“bindpython””的相关资讯,希望看官们能喜欢,小伙伴们一起来学习一下吧!

使用Python Socket模块,我们可以轻松地实现TCP客户端和服务器之间的通信。

服务端:

import socket# 创建TCP socket对象server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定IP地址和端口号server_address = ('127.0.0.1', 8888)server_socket.bind(server_address)# 监听客户端连接请求server_socket.listen(10)print(f"TCP服务器已启动,等待客户端连接。")# 循环等待客户端连接while True:    # 接受客户端连接请求,返回一个新的socket对象和客户端地址    client_socket, client_address = server_socket.accept()    print(f"客户端{client_address}已连接")    # 循环接收客户端发送的数据    while True:        # 接收客户端发送的数据        recv_data = client_socket.recv(1024)        if recv_data:            # 处理客户端发送的数据            print(f"收到客户端{client_address}的消息:{recv_data.decode('utf-8')}")            # 发送数据给客户端            send_data = f"已收到消息:{recv_data.decode('utf-8')}".encode('utf-8')            client_socket.send(send_data)        else:            # 客户端关闭连接            print(f"客户端{client_address}已断开连接")            client_socket.close()            break# 关闭服务器socketserver_socket.close()

客户端;

import socket# 创建TCP客户端套接字client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置服务器地址和端口号server_address = ('127.0.0.1', 8888)# 连接服务器client_socket.connect(server_address)# 发送数据message = 'set_sys_atten=US 50.00 \\r\\n!'# 循环发送消息3次for i in range(3):    client_socket.sendall(message.encode('utf-8'))    # 接收数据    data = client_socket.recv(1024)    print('Received from server:', data.decode())# 关闭客户端套接字client_socket.close()

标签: #bindpython #python通信模块 #pythontcp服务器客户端