Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/Tools/demo/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/Tools/demo/__pycache__/mcast.cpython-36.pyc

3

� f��@s^dZdZdZdZdZddlZddlZddlZddlZdd�Z	d	d
�Z
dd�Zed
krZe	�dS)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��NcCsBdtjdd�krtnt}dtjdd�kr6t|�nt|�dS)Nz-6rz-s)�sys�argv�	MYGROUP_6�	MYGROUP_4�sender�receiver)�group�r
�5/opt/alt/python36/lib64/python3.6/Tools/demo/mcast.py�mains
rcCs�tj|d�d}tj|dtj�}tjdt�}|dtjkrP|jtjtj	|�n|jtj
tj|�x<tt
j
��jd�d}|j||ddtf�t
jd�qdWdS)Nrz@izutf-8��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!srcCstj|d�d}tj|dtj�}|jtjtjd�|jdtf�tj|d|dd�}|dtj	kr�|t
jdtj�}|jtj
tj|�n"|t
jdd�}|jtjtj|�xL|jd�\}}x |d
d�dkr�|dd�}q�Wtt|�d	t|��q�WdS)Nrr�rz=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