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  
  • 相关阅读:
    java嵌套接口
    关于继承与多态
    重看Maven技术
    npm常用命令及参数总结
    vue.js和node.js的关系
    Invalid [xxx] in servlet mapping 、 <url-pattern>的匹配规则
    Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'name' in 'field list'
    关于中文词云生成报错
    easygui安装过程
    将写好的python软件打包成程序
  • 原文地址:https://www.cnblogs.com/chengyunshen/p/7196094.html
Copyright © 2011-2022 走看看