zoukankan      html  css  js  c++  java
  • 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,'
    waiting 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  
  • 相关阅读:
    如何评估自己对外界认知是否正确?
    冒泡排序与两数交换的实现与优化
    数据库和ADO
    JavaScript的中类型转换
    UltraEdit注册机原理简单说明
    别让用户发呆—设计中的防呆策略[转]
    Html 5 版 电子时钟
    SQL 优化总结(三) SQL子句
    SQL 优化总结(二) 索引
    Html 5 简介
  • 原文地址:https://www.cnblogs.com/chengyunshen/p/7196094.html
Copyright © 2011-2022 走看看