python基于UDP协议的简单通信

本文展示了如何使用Python实现UDP协议进行服务端与客户端的通信。服务端通过socket绑定IP和端口,持续接收并回应客户端消息,而客户端发送信息并监听服务端响应,遇到退出指令则终止连接。此示例突显了UDP通信的简洁性和多客户端支持特性。
摘要由CSDN通过智能技术生成

相对于TCP协议的通信,UDP通信的代码更加简单,同时一个服务端可以同时接受来个多个客户端的消息。

服务端:

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)   # type=socket.SOCK_DGRAM 使用UDP协议,默认为TCP

sk.bind(('127.0.0.1', 9001))        # 绑定ip和端口号
while True:
    msg, addr = sk.recvfrom(1024)      # recvfrom 可以获取来自客户端的ip地址和端口号
    print(msg.decode('utf-8'))
    send_msg = input(">>>")
    sk.sendto(send_msg.encode('utf-8'), addr)        # 根据所获取的ip和端口向客户端发送信息

服务端需要一直开启才能保持与一个客户端断开连接后能继续接收其他客户端的消息,所以在收到客户端的退出指令后服务端不做任何处理。

客户端:

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)    # type=socket.SOCK_DGRAM 使用UDP协议

server = ('127.0.0.1', 9001)           # 所请求的服务器的ip的端口
while True:
    send_msg = input('>>>')
    if send_msg.upper() == 'Q':                            # 发送Q时,客户端退出服务
        break
    sk.sendto(send_msg.encode('utf-8'), server)             # 想服务端发送信息
    msg = sk.recv(1024) .decode('utf-8')                   # 接受服务端发送的信息
    if msg.upper() == 'Q':                             #收到Q时,客户端退出服务
        break
    print(msg)
                                       
sk.close()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这是小刘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值