使用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 相关文章推荐
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
python使用pil生成图片验证码的方法
May 08 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
python实现俄罗斯方块
Jun 26 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
python实现简单飞行棋
Feb 06 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
Python操作Excel把数据分给sheet
May 20 Python
使用python爬取抖音app视频的实例代码
Dec 01 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 21 Python
Python 中面向接口编程
May 20 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
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
php 获取全局变量的代码
2011/04/21 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
javascript模拟C#格式化字符串
2015/08/26 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
js验证密码强度解析
2020/03/18 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
什么是接口(Interface)?
2013/02/01 面试题
科室工作的个人自我评价
2013/10/30 职场文书
自荐信要包含哪些内容
2013/11/06 职场文书
中职生自荐信范文
2014/06/15 职场文书
2014年宣传工作总结
2014/11/18 职场文书