python实现的udp协议Server和Client代码实例


Posted in Python onJune 04, 2014

直接上代码:
Server端:

 #!/usr/bin/env python
 # UDP Echo Server -  udpserver.py
 import socket, traceback host = ''
 port = 54321
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
 s.bind((host, port))
 while 1:
     try:
         message, address = s.recvfrom(8192)
         print "Got data from", address, ": ", message
         s.sendto(message, address)
     except (KeyboardInterrupt, SystemExit):
         raise
     except:
         traceback.print_exc()
 

Client端:
1 #!/usr/bin/env python
 # UDP Client - udpclient.py
 import socket, sys host = sys.argv[1]
 textport = sys.argv[2]
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 try:
     port = int(textport)
 except ValueError:
     port = socket.getservbyname(textport, 'udp')
 s.connect((host, port))
 while 1:
     print "Enter data to transmit:"
     data = sys.stdin.readline().strip()
     s.sendall(data)
     print "Looking for replies; press Ctrl-C or Ctrl-Break to stop."
     buf = s.recv(2048)
     if not len(buf):
         break
     print "Server replies: ",
     sys.stdout.write(buf)
     print "\n"
 
Python 相关文章推荐
python学习笔记:字典的使用示例详解
Jun 13 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python编程实现使用线性回归预测数据
Dec 07 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
Python多线程扫描端口代码示例
Feb 09 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python中过滤字符串列表的方法
Dec 22 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 #Python
Python程序员鲜为人知但你应该知道的17个问题
Jun 04 #Python
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 #Python
python控制台英汉汉英电子词典
Apr 23 #Python
测试、预发布后用python检测网页是否有日常链接
Jun 03 #Python
Python中的CURL PycURL使用例子
Jun 01 #Python
Python实现多线程下载文件的代码实例
Jun 01 #Python
You might like
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
网站防止被刷票的一些思路与方法
2015/01/08 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
angular十大常见问题
2017/03/07 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
运行Python编写的程序方法实例
2020/10/21 Python
2014年教师培训的自我评价
2014/01/03 职场文书
会计岗位职责范本
2014/03/07 职场文书
消防安全宣传口号
2014/06/10 职场文书
庆祝儿童节标语
2014/10/09 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript
浅谈Redis中的RDB快照
2021/06/29 Redis
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
pt-archiver 主键自增
2022/04/26 MySQL