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深入学习之上下文管理器
Aug 31 Python
栈和队列数据结构的基本概念及其相关的Python实现
Aug 24 Python
python 内置函数filter
Jun 01 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
Python 从相对路径下import的方法
Dec 04 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
Python中断多重循环的几种方式详解
Feb 10 Python
序列化Python对象的方法
Aug 01 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 Python
OpenCV全景图像拼接的实现示例
Jun 05 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下10件你也许并不了解的事情
2008/09/11 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
javascript知识点收藏
2007/02/22 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
python线程池的实现实例
2013/11/18 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
Python for i in range ()用法详解
2020/09/18 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
商学院大学生求职的自我评价
2014/03/12 职场文书
婚礼主持词开场白
2014/03/13 职场文书
诚信承诺书模板
2014/05/26 职场文书
科学发展观标语
2014/10/08 职场文书
高一语文教学反思
2016/02/16 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
vue中 this.$set的使用详解
2021/11/17 Vue.js
python前后端自定义分页器
2022/04/13 Python