python3实现UDP协议的服务器和客户端


Posted in Python onJune 14, 2017

利用Python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端。为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了。

UDP:用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。 

客户端

python3只能收发二进制数据,需要显式转码

from socket import *

host = '192.168.48.128' # 这是客户端的电脑的ip
port = 13141 #接口选择大于10000的,避免冲突
bufsize = 1024 #定义缓冲大小

addr = (host,port) # 元祖形式
udpClient = socket(AF_INET,SOCK_DGRAM) #创建客户端

while True:
  data = input('>>> ')
  if not data:
    break
  data = data.encode(encoding="utf-8") 
  udpClient.sendto(data,addr) # 发送数据
  data,addr = udpClient.recvfrom(bufsize) #接收数据和返回地址
  print(data.decode(encoding="utf-8"),'from',addr)

udpClient.close()

服务器

同样需要显式转码

from socket import *
from time import ctime

host = '' #监听所有的ip
port = 13141 #接口必须一致
bufsize = 1024
addr = (host,port) 

udpServer = socket(AF_INET,SOCK_DGRAM)
udpServer.bind(addr) #开始监听

while True:
 print('Waiting for connection...')
 data,addr = udpServer.recvfrom(bufsize) #接收数据和返回地址
 #处理数据
 data = data.decode(encoding='utf-8').upper()
 data = "at %s :%s"%(ctime(),data)
 udpServer.sendto(data.encode(encoding='utf-8'),addr)
 #发送数据
 print('...recevied from and return to :',addr)

udpServer.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
在Django的视图中使用form对象的方法
Jul 18 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
Python3离线安装Requests模块问题
Oct 13 Python
python3图片文件批量重命名处理
Oct 31 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 Python
PyQt5实现登录页面
May 30 Python
Python 列表推导式需要注意的地方
Oct 23 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 Python
老生常谈Python基础之字符编码
Jun 14 #Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 #Python
Python之re操作方法(详解)
Jun 14 #Python
Python之py2exe打包工具详解
Jun 14 #Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 #Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 #Python
Python实现的下载网页源码功能示例
Jun 13 #Python
You might like
PHP4之COOKIE支持详解
2006/10/09 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
Python devel安装失败问题解决方案
2020/06/09 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
会展中心部门工作职责
2013/11/27 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
工地宣传标语
2014/06/18 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
老干部座谈会主持词
2015/07/03 职场文书