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访问纯真IP数据库的代码
May 19 Python
python中的hashlib和base64加密模块使用实例
Sep 02 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
python网络应用开发知识点浅析
May 28 Python
pyqt5 实现多窗口跳转的方法
Jun 19 Python
python频繁写入文件时提速的方法
Jun 26 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
TensorFlow打印输出tensor的值
Apr 19 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 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以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
javascript 的Document属性和方法集合
2010/01/25 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
Python科学计算之Pandas详解
2017/01/15 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
Python中new方法的详解
2019/01/15 Python
python字典改变value值方法总结
2019/06/21 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
Django url 路由匹配过程详解
2021/01/22 Python
PHP面试题集
2016/12/18 面试题
法律专业应届生自荐信范文
2014/01/06 职场文书
春节活动策划方案
2014/01/24 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
工作作风建设心得体会
2014/10/22 职场文书
违纪检讨书
2015/01/27 职场文书
遗失说明具结保证书
2015/02/26 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis