Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/Tools/demo/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/Tools/demo/__pycache__/mcast.cpython-34.pyo

�
e f��@s�dZdZdZdZdZddlZddlZddlZddlZdd�Z	d	d
�Z
dd�Zed
kr�e	�ndS)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��NcCsYdtjdd�krtnt}dtjdd�krKt|�n
t|�dS)Nz-6rz-s)�sys�argv�	MYGROUP_6�	MYGROUP_4�sender�receiver)�group�r
�5/opt/alt/python34/lib64/python3.4/Tools/demo/mcast.py�mains%
rcCs�tj|d�d}tj|dtj�}tjdt�}|dtjkrp|jtjtj	|�n|jtj
tj|�xNtt
j
��jd�d}|j||ddtf�t
jd�q�WdS)Nrz@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
rr!srcCs[tj|d�d}tj|dtj�}|jtjtjd�|jdtf�tj|d|dd�}|dtj	kr�|t
jdtj�}|jtj
tj|�n/|t
jdd�}|jtjtj|�xd|jd�\}}x*|d
d�dkr4|dd�}qWtt|�d	t|��q�WdS)Nrr�r
z=Iz@Ii��z  ���r!)rrrrZ
SOL_SOCKETZSO_REUSEADDRZbindrZ	inet_ptonrrrZ
INADDR_ANYrZIP_ADD_MEMBERSHIPrZIPV6_JOIN_GROUPZrecvfrom�print�strr)r	rrZ	group_binZmreqrrr
r
rr3sr�__main__)
�__doc__rrrrrrrrrrr�__name__r
r
r
r�<module>s