使用PYTHON接收多播数据的代码


Posted in Python onMarch 01, 2012

首先声明,这不是我写的,而是我找到的,但是别人写的相当好。

# UDP multicast examples, Hugo Vincent, 2005-05-14. 
import socket def send(data, port=50000, addr='239.192.1.100'): 
"""send(data[, port[, addr]]) - multicasts a UDP datagram.""" 
# Create the socket 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
# Make the socket multicast-aware, and set TTL. 
s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 20) # Change TTL (=20) to suit 
# Send the data 
s.sendto(data, (addr, port)) 
def recv(port=50000, addr="239.192.1.100", buf_size=1024): 
"""recv([port[, addr[,buf_size]]]) - waits for a datagram and returns the data.""" 
# Create the socket 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
# Set some options to make it multicast-friendly 
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
try: 
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 
except AttributeError: 
pass # Some systems don't support SO_REUSEPORT 
s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, 20) 
s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1) 
# Bind to the port 
s.bind(('', port)) 
# Set some more multicast options 
intf = socket.gethostbyname(socket.gethostname()) 
s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0')) 
s.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP, socket.inet_aton(addr) + socket.inet_aton('0.0.0.0')) 
# Receive the data, then unregister multicast receive membership, then close the port 
data, sender_addr = s.recvfrom(buf_size) 
s.setsockopt(socket.SOL_IP, socket.IP_DROP_MEMBERSHIP, socket.inet_aton(addr) + socket.inet_aton('0.0.0.0')) 
s.close() 
return data
#!/usr/bin/env python 
from socket import *from time import sleep,time,ctime 
HOST = '229.0.0.15'PORT = 9999BUFSIZ = 1024ADDR = (HOST, PORT) 
udpCliSock = socket(AF_INET, SOCK_DGRAM) 
data = 't'*200count = 0while(count<100 ): udpCliSock.sendto(data, ADDR) sleep(1) count = count+1 
udpCliSock.close()
Python 相关文章推荐
python计算圆周长、面积、球体体积并画出圆
Apr 08 Python
Python设置默认编码为utf8的方法
Jul 01 Python
使用python生成目录树
Mar 29 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
python单例设计模式实现解析
Jan 07 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
python实现字符串和数字拼接
Mar 02 Python
Python 实现PS滤镜的旋涡特效
Dec 03 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 Python
使用PYTHON创建XML文档
Mar 01 #Python
基于python的汉字转GBK码实现代码
Feb 19 #Python
python 装饰器功能以及函数参数使用介绍
Jan 27 #Python
Python常见文件操作的函数示例代码
Nov 15 #Python
python 控制语句
Nov 03 #Python
python 不关闭控制台的实现方法
Oct 23 #Python
python中将阿拉伯数字转换成中文的实现代码
May 19 #Python
You might like
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
JQuery实现定时刷新功能代码
2017/05/09 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
中层干部竞争上岗演讲稿
2014/01/13 职场文书
汉语言文学职业规划
2014/02/14 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
2015年试用期工作总结
2014/12/12 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书