Your IP : 216.73.216.213
���] - �
@ s� d d l m Z e j d � Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l
Z
d d l Z d d l Z
y d d l
Z
Wn e k
r� d Z
Yn Xe j Z d Z d Z e
rGd d � d e
j � Z Gd d � d e j � Z d
d � Z e
j e
d � Gd
d � d e
j � � Z Gd d � d e � Z Gd d � d e
j � Z Gd d � d e
j � Z Gd d � d e
j � Z Gd d � d e
j � Z e d k r�e
j � d S)� )�support�_threadNs QUIT
g @c @ s. e Z d Z d Z d d � Z d d � Z d S)�echo_server� c C sV t j j | � | | _ t j t j t j � | _ t j | j � | _
d | _ d S)N)� threading�Thread�__init__�event�socket�AF_INET�SOCK_STREAM�sockr Z bind_port�port�start_resend_event)�selfr � r �2/opt/alt/python35/lib64/python3.5/test_asynchat.pyr s
zecho_server.__init__c
C s | j j � | j j � | j j � \ } } d | _ x9 t | j k rs | j d � } | s` P| j | | _ q; W| j j t d � | _ | j r� | j j
� yV xO | j r� | j | j d | j � � } t
j d � | j | d � | _ q� WWn Yn X| j � | j j � d S)N� r g����MbP?)r
�listenr �set�accept�buffer�SERVER_QUIT�recv�replacer �wait�send�
chunk_size�time�sleep�close)r �conn�client�data�nr r r �run) s*
zecho_server.runN)�__name__�
__module__�__qualname__r r r% r r r r r s r c @ s4 e Z d Z d d � Z d d � Z d d � Z d S)�echo_clientc C s� t j j | � g | _ | j t j t j � | j t | f � | j
| � d | _ d d � } t j
d k r d d � } d S)Nr c S s d S)Nr )r r r r �handle_connectS s z,echo_client.__init__.<locals>.handle_connect�darwinc S s d S)Nr )r r r r �handle_exptY s z)echo_client.__init__.<locals>.handle_expt)�asynchat�
async_chatr �contentsZ
create_socketr
r r �connect�HOST�set_terminatorr �sys�platform)r �
terminatorZserver_portr* r, r r r r K s
zecho_client.__init__c C s | j | 7_ d S)N)r )r r# r r r �collect_incoming_data\ s z!echo_client.collect_incoming_datac C s | j j | j � d | _ d S)Nr )r/ �appendr )r r r r �found_terminator_ s zecho_client.found_terminatorN)r&