参照着廖雪峰的python教程敲的代码。

这个示例就是很简单的服务器端直接接收来自客户端的数据,然后稍作处理返回给客户端;客户端给服务器端发送数据然后将接收到的返回数据打印。

UDPServer.py:

# -*- coding: utf-8 -*-

import socket

#SOCK_DGRAM指定了这个Socket的类型是UDP

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

#绑定端口

s.bind(('127.0.0.1', 9999))

#不需要调用listen()方法,而是直接接收来自任何客户端的数据

print('Bind UDP on 9999....')

while True:

#接收数据

data, addr = s.recvfrom(1024) #recvfrom()方法返回数据和客户端的地址与端口

print('Received from %s:%s.' % addr)

if data == b'exit':

s.close() #如果不关掉socket,则下次运行程序会报端口已被占用

break

else:

s.sendto(b'Hello, %s!' % data, addr)

UDPClient.py:

# -*- coding: utf-8 -*-

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

for data in [b'Michael', b'Tracy', b'Sarah', b'exit']:

#发送数据

s.sendto(data, ('127.0.0.1', 9999))

#接收数据

print(s.recv(1024).decode('utf-8'))

s.close()

因为UDP是面向非连接的,所以比TCP编程少了“建立连接(客户端发起服务器端接受)和监听端口(客户端)”的步骤,并且接收数据和发送数据所使用的数据也不一样。

运行结果:

服务器端:

客户端:

python udp编程_Python UDP编程小示例相关推荐

  1. python udp通信_Python网络编程(三)

    回顾 在<Python进阶记录之网络编程(二)>中,我们介绍了UDP端口号的基本概念和作用以及Python中UDP服务端的端口绑定和简单创建.今天我们利用UDP server和UDP cl ...

  2. python事件驱动编程_Python事件驱动编程

    事件驱动的编程侧重于事件.最终,程序的流程取决于事件.到目前为止,我们处理顺序或并行执行模型,但具有事件驱动编程概念的模型称为异步模型.事件驱动的编程取决于始终侦听新传入事件的事件循环.事件驱动编程的 ...

  3. python socket编程_Python Socket编程实现网络编程

    对于有经验的开发人员来说,掌握的编程语言应该是不少的.在这些编程语言中,网络编程的应用时必不可少的.其中Python也是这样的编程语言.我们今天将会在这里为大家详细介绍一下Python Socket编 ...

  4. python 网络编程_Python网络编程(六)

    回顾 在<Python进阶记录之网络编程(五)>中,我们介绍了如何利用TCP服务端和客户端实现一个简单的点对点聊天,区别基于TCP协议和UDP协议的不同之处.今天我们讲一下如何利用多进程和 ...

  5. python树莓派编程_python树莓派编程

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 例如,你可以用树莓派搭建你自己的家用云存储服务器.? 树莓派用python来进行 ...

  6. python中http协议编程_python网络编程、套接字、HTTP协议

    网络编程 网络目的 : 数据的传输 网络数据传输是一个复杂的过程 OSI 七层模型 --> 网络通信标准化流程 应用层 : 提供用户服务,具体内容由特定程序规定 表示层 : 数据的压缩优化 会话 ...

  7. python 鱼骨图_python面向对象编程,鱼骨图分析法

    一.面向对象编程 ​ 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么.后干什么.再干什么.然后干什么-- 与工厂的工艺流程差不多,前后都有影响 优点:复杂的问题流程化,进而简单化, ...

  8. 理解python并发编程_Python并发编程很简单

    上次已经和大家探讨了关于进程和线程的区别和联系相关的东东,今天呢,咱们再次回到 好啦,废话少说,咱们就开始吧! 首先说一下哦,_thread和threading哦,到这可能有朋友会问了,这两个有什么区 ...

  9. python高级网络编程_python高级编程——网络编程(二)

    UDP 概念和介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议. UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并 不能保证它们能到达目的地. U ...

最新文章

  1. AGGCN | 基于图神经网络的关系抽取模型
  2. 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
  3. 时间与字符串之间的转换
  4. 疑似荣耀30S将于今日正式官宣:首发搭载全新麒麟820芯片
  5. Win 2012 OS 安装.Net Framework 3.5
  6. MYSQL 引擎的情况
  7. 【NodeJS】20 koa 企业级Cms内容管理系统-XMind功能分析、ERStudio设计数据库ER图
  8. 网页加速优化简单总结
  9. java视频生成缩略图_Java调用ffmpeg工具生成视频缩略图实例
  10. 腾讯安全发布远程桌面服务高危漏洞(CVE-2019-1181 / 1182)修复工具
  11. 日本流行语------收录
  12. 对象含有与成员函数不兼容的类型限定符
  13. 在一个页面同时引入两个百度地图
  14. Gitlab统计代码的贡献量指标
  15. php工具箱在win10自动退出,win10游戏闪退修复办法
  16. 【学习OpenCV4】OpenCV入门精讲(C++/Python双语教学)
  17. 为什么只看重结果_不要只看重结果 过程也是美丽的
  18. JavaScript游戏之连连看连线算法实例
  19. 什么是wms仓储管理系统?
  20. curl开源软件使用详解

热门文章

  1. [Elasticsearch] es 6.8 编译报错 invalid type code: 85
  2. 【https】keystore was tampered with or password was incorrect
  3. Spring : spring-jcl-5.1.2.RELEASE.jar日志包
  4. 【Flink】No key set. This method should not be called outside of a keyed context.
  5. 【Calcite】Calcite入门
  6. map按kye排序 按value排序
  7. android Mediaplayer各种属性和方法简单介绍
  8. JVM各个组成部分和其基本功能
  9. Android生命周期帮助类,Android Service类与生命周期详细介绍_Android_脚本之家
  10. java dataset类的方法,C#中DataSet转化为实体集合类的方法