ó
’Ÿ?`c           @   s}   d  Z  d Z d Z d Z d d l Z d d l Z d d l Z d d l Z d „  Z d „  Z	 d „  Z
 e d	 k ry e ƒ  n  d S(
   i»  s   225.0.0.250s'   ff15:7079:7468:6f6e:6465:6d6f:6d63:6173i   iÿÿÿÿNc          C   sM   d t  j d k r t n t }  d t  j d k r? t |  ƒ n
 t |  ƒ d  S(   Ns   -6i   s   -s(   t   syst   argvt	   MYGROUP_6t	   MYGROUP_4t   sendert   receiver(   t   group(    (    s*   /usr/lib64/python2.7/Demo/sockets/mcast.pyt   main   s    c         C   sÛ   t  j |  d  ƒ d } t  j  | d t  j ƒ } t j d t ƒ } | d t  j k rp | j t  j	 t  j
 | ƒ n | j t  j t  j | ƒ xK t rÖ t t j ƒ  ƒ } | j | d | d d t f ƒ t j d ƒ qŒ Wd  S(   Ni    s   @it    i   i   (   t   sockett   getaddrinfot   Nonet
   SOCK_DGRAMt   structt   packt   MYTTLt   AF_INETt
   setsockoptt
   IPPROTO_IPt   IP_MULTICAST_TTLt   IPPROTO_IPV6t   IPV6_MULTICAST_HOPSt   Truet   reprt   timet   sendtot   MYPORTt   sleep(   R   t   addrinfot   st   ttl_bint   data(    (    s*   /usr/lib64/python2.7/Demo/sockets/mcast.pyR      s    	"c         C   sP  t  j |  d  ƒ d } t  j  | d t  j ƒ } | j t  j t  j d ƒ | j d t f ƒ t  j	 | d | d d ƒ } | d t  j
 k rÁ | t j d t  j ƒ } | j t  j t  j | ƒ n/ | t j d d ƒ } | j t  j t  j | ƒ xY t rK| j d ƒ \ } } x | d d	 k r.| d  } qWt | ƒ d
 t | ƒ GHqó Wd  S(   Ni    i   t    i   s   =Is   @IiÜ  iÿÿÿÿR   s     (   R	   R
   R   R   R   t
   SOL_SOCKETt   SO_REUSEADDRt   bindR   t	   inet_ptonR   R   R   t
   INADDR_ANYR   t   IP_ADD_MEMBERSHIPR   t   IPV6_JOIN_GROUPR   t   recvfromt   strR   (   R   R   R   t	   group_bint   mreqR   R   (    (    s*   /usr/lib64/python2.7/Demo/sockets/mcast.pyR   1   s    	 t   __main__(   R   R   R   R   R   R   R	   R    R   R   R   t   __name__(    (    (    s*   /usr/lib64/python2.7/Demo/sockets/mcast.pyt   <module>   s   				