python-组播

 1  #!/usr/bin/python
 2 #coding=utf-8
 3 #发送端
 4 import sys,struct,socket
 5 from time import sleep
 6
 7 message="hello"
 8 message1="nihao"
 9
10 multicast_group=(‘224.3.29.73‘,10003)
11 multicast_group1=(‘224.3.29.74‘,10004)
12
13 sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
14
15 sock.timeout(3)
16
17 ttl=struct.pack(‘b‘,1)  #将数字1转换成无符号字符类型.在python中没有这种类型,但是内核需要,所以转换
18
19 sock.setsockopt(socket.IPPROTO_IP,socket.IP_MULTICAST_TTL,ttl)
20
21 try:
22     while 1:
23         sleep(2)
24         sent=sock.sendto(message,multicast_group)
25         sent=sock.sendto(message1,multicast_group1)
26
27         print >>sys.stderr,"waiting to receive"
28
29         try:
30             data,server=sock.recvfrom(1024)
31         except sock.timeout:
32             print >>sys.stderr,"time out ,no more response"
33             break
34         else:
35             print >>sys.stderr,"received %s from %s"%(data,server)
36 finally:
37     print >>sys.stderr,"closing socket"
38     sock.close()
 1 #!/usr/bin/python
 2 #接收端
 3 import socket
 4 import sys
 5 import struct
 6
 7 multicast_group = ‘224.3.29.72‘
 8 server_address = (‘‘,10001)
 9
10 sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
11
12 sock.bind(server_address)
13
14 group = socket.inet_aton(multicast_group)
15 mreq = struct.pack(‘4sL‘,group,socket.INADDR_ANY)
16 sock.setsockopt(socket.IPPROTO_IP,socket.IP_ADD_MEMBERSHIP,mreq)
17
18 while True:
19     print >>sys.stderr,‘\nwaiting to receive message‘
20     data,address = sock.recvfrom(1024)
21
22     print >>sys.stderr,‘received %s bytes from %s‘%(len(data),data)
23     print >>sys.stderr,‘sending acknowledgement to‘,address
24     sock.sendto(‘gaozhiqiangf‘,address)
25  
时间: 2024-10-11 03:30:36

python-组播的相关文章

java组播MulticastSocket

在单播模式中有服务器端和客户端之分,而组播模式与单播模式不同,每个端都是以路由器或交换机做为中转广播站,任意一端向路由器或交换机发送消息,路由或交换机负责发送其他节点,每个节点都是同等的.所以在编程模式上用同一个类表示即可--MulticastSocket. MulticastSocket属于jdk提供的类,类路径为java.net.MulticastSocket,利用此类可以很方便地实现组播功能,下面展示一个简单例子,两个节点之间通过组播传输消息. ①节点一,指定组播地址为228.0.0.4,

单播、多播(组播)和广播的区别

单播.多播和广播单播"(Unicast)."多播"(Multicast)和"广播"(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语.那么这些术语究竟是什么意思?区别何在? 1.单播:网络节点之间的通信就好像是人们之间的对话一样.如果一个人对另外一个人说话,那么用网络技术的术语来描述就是"单播",此时信息的接收和传递只在两个节点之间进行.单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一

学习组播原理笔记

广播的缺点:被路由隔离.不可跨网段.浪费流量和硬件资源OSPF建立邻居:单播:太麻烦  广播:浪费资源  组播:IGP 组播的优势:1.组的概念2.发送数据合理利用带宽资源.减少发送者的CPU资源消耗3.不知道接收者的地址4.实时性 基于UDP(数据层面)TCP  头部20Byte  重传机制 UDP  头部8Byte       1.速度快RTP实时传输协议:UDP报文是无序.通过RTP来控制UDP的无序性 多播协议:PIM(协议无关的多播)组播地址:224.0.0.13发送hello包的组播

UDP 组播/多播实现步骤

UDP组播 实现服务器对客户端分组播放(发送数据). 实现步骤: server.c 1.创建服务器套接字 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol);   返回套接字 2.构建服务器地址结构 struct sockaddr_in serveraddr; #include <strings.h> bzero(&server

组播实验

说明:做组播实验需要安装VLC Media Player 实验步骤: 步骤一:按照实验拓扑搭建实验环境 步骤二:配置SERVER 步骤三:配置AR1 <AR1>sys Enter system view, return user view with Ctrl+Z. [AR1]multicast routing-enable [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 1.1.1.2 255.255.255.252 May  2 2016 1

Android开发:组播(多播)与广播

近期由于需要编写能够使同一局域网中的Android客户端与PC端进行自动匹配通信功能的程序,学习并试验了JAVA组播与广播的内容,记录一些理解如下: 一.组播(多播)背景知识:组播使用UDP对一定范围内的地址发送相同的一组Packet,即一次可以向多个接受者发出信息,其与单播的主要区别是地址的形式.IP协议分配了一定范围的地址空间给多播(多播只能使用这个范围内的IP),IPv4中组播地址范围为224.0.0.0到239.255.255.255.JAVA编程:java中通过MulticastSoc

[转]IP_ADD_MEMBERSHIP : 组播错误 的解决方法:

http://www.cnitblog.com/dvb-dvb/archive/2012/10/15/aa.html by default live library includes winsock.h through windows.h instead of winsock2.h, but requires Winsock 2 in  initializeWinsockIfNecessary(...) function.IP_ADD_MEMBERSHIP value for Winsock1

4高并发服务器:UDP局域网服务器(组播)

 1 UDP局域网服务器 A读出每一个客户端发送过来的数据包,然后fork出子进程,由子进程去处理客户端请求. B客户端与服务器段交换多个数据报,服务器为每一个客户端连接创建新的socket,在其上bind一个临时端口,然后用该socket处理对应客户端上的所有应答,这个办法要求在客户查看服务器第一个应答中的源端口号.然后后面利用此端口号和服务器进行交互. 2函数声明 int bind(int sockfd, const struct sockaddr*addr,socklen_t addr

网络通信:单播、广播、组播

本文目录: 一.网络通信的分类.他们的定义和特点. 二.单播.广播.组播的传输信息的网络拓扑模型. 三.单播.广播.组播的编程实例. 一.网络通信的分类.他们的定义和特点. 二.单播.广播.组播的传输信息的网络拓扑模型. (一)单播 如图8-1 所示,网络中存在信息发送者Source,UserA 和UserC 提出信息需求,网络采用单播方式传输信息.                                                  单播传输特点归纳如下: * Source 向每个

组播学习笔记(六)SPT+RP自动选举

SPT切换能够结合共享树和源树的优点.主要机制是在LH设置一个阀值,当流量超过这个阀值时,组播分发树从共享树切换成源树.默认这个阀值为0,即一旦有组播流量则从共享树切换成源树. 一开始没有组播流量抵达LH,即F时,组播分发树为共享树,host1发送IGMP join消息,LH向上发送pim join消息拉取数据,假设E为RP,此时共享树部分结束. source开始通过A向RP进行注册,RP收到了source的注册消息生成一条(S,G)条目,并向B发送join消息,B再向A发送join消息,最终从