python-组播
#!/usr/bin/python
#coding=utf-8
#发送端
import sys,struct,socket
from time import sleep message="hello"
message1="nihao" multicast_group=('224.3.29.73',10003)
multicast_group1=('224.3.29.74',10004) sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.timeout(3) ttl=struct.pack('b',1) #将数字1转换成无符号字符类型.在python中没有这种类型,但是内核需要,所以转换 sock.setsockopt(socket.IPPROTO_IP,socket.IP_MULTICAST_TTL,ttl) try:
while 1:
sleep(2)
sent=sock.sendto(message,multicast_group)
sent=sock.sendto(message1,multicast_group1) print >>sys.stderr,"waiting to receive" try:
data,server=sock.recvfrom(1024)
except sock.timeout:
print >>sys.stderr,"time out ,no more response"
break
else:
print >>sys.stderr,"received %s from %s"%(data,server)
finally:
print >>sys.stderr,"closing socket"
sock.close()
#!/usr/bin/python
#接收端
import socket
import sys
import struct multicast_group = '224.3.29.72'
server_address = ('',10001) sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.bind(server_address) group = socket.inet_aton(multicast_group)
mreq = struct.pack('4sL',group,socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP,socket.IP_ADD_MEMBERSHIP,mreq) while True:
print >>sys.stderr,'\nwaiting to receive message'
data,address = sock.recvfrom(1024) print >>sys.stderr,'received %s bytes from %s'%(len(data),data)
print >>sys.stderr,'sending acknowledgement to',address
sock.sendto('gaozhiqiangf',address)
python-组播的更多相关文章
- Python3组播通信编程实现教程(发送者+接收者)
一.说明 1.1 标准组播解释 通信分为单播.多播(即组播).广播三种方式 单播指发送者发送之后,IP数据包被路由器发往目的IP指定的唯一一台设备的通信形式,比如你现在与web服务器通信就是单播形式 ...
- ganglia组播和单播
ganglia快速开始向导(翻译自官方wiki) 发布于 2012 年 1 月 23 日 由 admin 2 comments发表评论 转自:http://cryinstall.com/?p=18 ...
- Linux IPC socket 广播,组播
getsockopt()/setsockopt() //获得sockfd指向的socket的属性 int getsockopt(int sockfd, int level, int optname, ...
- IPv4组播通信原理
2011-05-08 21:21:14 标签:组播 vin_do,vin_do学习笔记,笔记 休闲 职场 摘自网络,感谢原作者 摘要: 本文试图成为学习TCP/IP网络组播技术的入门材料.文中介绍了组 ...
- UDP及其组播,接收发送封装
1.Receiver public class Receiver { public delegate void HeartBeat(byte[] data); public event HeartBe ...
- ffmpeg无法接收组播流问题处理
问题:ffmpeg无法对IP组播进行处理,表现如下 [root@os01 /]# ffprobe udp://225.0.0.2:9000 ffprobe version Copyright (c) ...
- 组播(Multicast)传输
组播(Multicast)传输: 在发送者和每一接收者之间实现点对多点网络连接. 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包.它提高了数据传送效率.减少了骨干网络出现拥 ...
- dell n2000 组播抑制
http://en.community.dell.com/support-forums/network-switches/f/866/t/19677497 http://en.community.de ...
- Ztack学习笔记(6)-广播组播点播
Zigbee网络中进行数据通信主要有三种类型:单播.组播.广播.那这三种方式如何设置呢,在哪里设置呢, 一. 广播 当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式.广播的短地址有三种 0 ...
- [转]IP_ADD_MEMBERSHIP : 组播错误 的解决方法:
[转]IP_ADD_MEMBERSHIP : 组播错误 的解决方法: http://www.cnitblog.com/dvb-dvb/archive/2012/10/15/aa.html by def ...
随机推荐
- Codeforces788A Functions again 2017-04-12 18:22 56人阅读 评论(0) 收藏
C. Functions again time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Oracle Alert - APP-ALR-04108: SQL error ORA-01455
SELECT OD.ORGANIZATION_CODE, TO_CHAR(H.ORDER_NUMBER), --ORACLE ALERT 自动转数字类型最长11位,转字符处理解决APP-ALR-041 ...
- ASP.NET Core 中的应用程序启动 Startup
ASP.NET Core 应用使用Startup类来作为启动类. Startup类中包含了ConfigureServices方法,Configure方法,IConfiguration,IHos ...
- 国内顶尖的sql dba 团队招人。
国内顶尖的sql dba 团队招人. 4年DBA 经验 我们希望你掌握 1.熟练关系型数据库原理.熟练一门语言(C# .Java.Python.powershell ) 2.对自动化.数据化感兴趣. ...
- osx上使用'cd'命令跳转到别名(alias)目录
在mac上使用windows的共享目录时,在terminal中时法使用cd的,会提示"xxx 不是目录",经过一番的查找,发现了Mac Terminal 'cd' to folde ...
- sharepoint 2013 补丁升级步骤
1. 安装过程合理: A. 可以同时在管理中心.两台前端.搜索服务器上安装重新发布的SP1补丁包(所提供的链接) B. 等待所有SP1补丁包安装完成,依次在管理中心.两台前端.搜索服务器上运行配置向导 ...
- sql trace script
CREATE EVENT SESSION [sql_query_tracing] ON SERVER ADD EVENT sqlos.wait_info( ACTION(sqlos.schedu ...
- how to trace the error log
Executed as user: WTC\Ebw.Admin. Transaction (Process ID 95) was deadlocked on lock resources with a ...
- PHP 访问链接的3种方式
对于php访问url的方法比价多,对于一些防护比较低的网站,可以轻易的实现刷网站浏览量的可能 1.fopen方式 function access_url($url) { if ($url=='') r ...
- tf入门-池化函数 tf.nn.max_pool 的介绍
转载自此大神 http://blog.csdn.net/mao_xiao_feng/article/details/53453926 max pooling是CNN当中的最大值池化操作,其实用法和卷积 ...