python实现客户端接收服务端发送的数据 UDP实现

服务端代码:server_UDP.py

import socket
import time
address = ('127.10.0.1', 31500)  # 服务端地址和端口
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket
s.bind(address)  # 绑定服务端地址和端口

count=0
useraddr = ('127.4.3.100', 8888)   # 客户端的地址和端口,后面将发送数据到该地址和端口
while count<100000:  
    count+=1
    time.sleep(0.0001) # 发送间隔
    send = "Data from server"+str(count) # 编辑发送的数据
    s.sendto(send.encode(), useraddr)  # UDP 是无状态连接,所以每次连接都需要给出目的地址
s.close()

客户端代码: user_UDP.py

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # 创建socket
bindAddr = ('127.4.3.100',8888)  # 用于客户端的地址和端口绑定
s.bind(bindAddr)    # 将socket绑定地址和端口,实际使用中只需要绑定端口即可,地址由电脑确定
while True:
    data, addr = s.recvfrom(1024)  # 返回数据和接入连接的(服务端)地址,得到服务端发来的数据和地址
    data = data.decode()  # 解码数据
    print('[Recieved data]:', data, '[Server addr]:', addr) 
s.close()

依次执行两端代码:

python server_UDP.py
python user_UDP.py

客户端收到的数据显示结果:
请添加图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!以下是一个简单的Python UDP客户端服务端的代码示例: UDP服务端代码: ```python import socket # 创建一个UDP socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定IP地址和端口号 server_address = ('localhost', 12345) server_socket.bind(server_address) print("UDP服务端已启动,等待客户端发送消息...") while True: # 接收客户端发送数据客户端地址 data, client_address = server_socket.recvfrom(1024) print(f"接收到来自客户端 {client_address} 的消息:{data.decode()}") # 处理接收到的数据,这里可以根据具体需求进行相应的处理逻辑 # 向客户端发送响应数据 response = "已收到你的消息!" server_socket.sendto(response.encode(), client_address) ``` UDP客户端代码: ```python import socket # 创建一个UDP socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 服务端地址 server_address = ('localhost', 12345) while True: # 发送数据服务端 message = input("请输入要发送的消息:") client_socket.sendto(message.encode(), server_address) # 接收服务端的响应数据 data, server_address = client_socket.recvfrom(1024) print(f"接收服务端的响应:{data.decode()}") ``` 以上代码示例中,服务端使用`socket.socket()`创建一个UDP socket对象,然后绑定IP地址和端口号,并在循环中接收客户端发送数据客户端同样使用`socket.socket()`创建一个UDP socket对象,然后通过`sendto()`方法发送数据服务端,并通过`recvfrom()`方法接收服务端的响应数据。 请注意,UDP是一个无连接的协议,因此在UDP通信中,客户端服务端之间并没有建立持久的连接。每次通信都是通过发送接收数据报进行。此示例仅展示了一个简单的UDP客户端服务端实现,并未处理异常情况和错误处理等复杂情况。在实际应用中,可能需要根据具体需求进行适当的扩展和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值