Your IP : 216.73.216.213
�
e f� � @ s� d Z 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 d � Z d d
� Z
d d � Z e d
k r� e � n d S)z�
Send/receive UDP multicast packets.
Requires that your OS kernel supports IP multicast.
Usage:
mcast -s (sender, IPv4)
mcast -s -6 (sender, IPv6)
mcast (receivers, IPv4)
mcast -6 (receivers, IPv6)
i� z225.0.0.250z'ff15:7079:7468:6f6e:6465:6d6f:6d63:6173� � Nc C sY d t j d d � k r t n t } d t j d d � k rK t | � n
t | � d S)Nz-6r z-s)�sys�argv� MYGROUP_6� MYGROUP_4�sender�receiver)�group� r
�5/opt/alt/python34/lib64/python3.4/Tools/demo/mcast.py�main s %
r 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 | � xN t t
j
� � j d � d } | j | | d d t f � t
j d � q� Wd S)Nr z@izutf-8s � r )�socket�getaddrinfo�
SOCK_DGRAM�struct�pack�MYTTL�AF_INET�
setsockopt�
IPPROTO_IPZIP_MULTICAST_TTL�IPPROTO_IPV6ZIPV6_MULTICAST_HOPS�repr�time�encodeZsendto�MYPORTZsleep)r �addrinfo�sZttl_bin�datar
r
r r ! s r c C s[ 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 | � xd | j d � \ } } x* | d
d � d k r4| d d � } qWt t | � d t | � � q� Wd S)Nr r � r
z=Iz@Ii� � z ���r! )r r r r Z
SOL_SOCKETZSO_REUSEADDRZbindr Z inet_ptonr r r Z
INADDR_ANYr ZIP_ADD_MEMBERSHIPr ZIPV6_JOIN_GROUPZrecvfrom�print�strr )r r r Z group_binZmreqr r r
r
r r 3 s r �__main__)
�__doc__r r r r r r r r r r r �__name__r
r
r
r �<module> s