一般写服务器的时候需要编写一个机器人来辅助自己测试。这里就是使用python内建的库编写一个socket机器人。
''' Created on 2013-3-8 @author: Administrator ''' import socket import asyncore import struct import logging import time class TCPClient(asyncore.dispatcher): ''' classdocs ''' def __init__(self): ''' Constructor ''' asyncore.dispatcher.__init__(self) self.send_buf_ = '' self.recv_buf_ = '' self.is_conn_ = False self.ip_ = "localhost" self.port_map_ = 9250 pass ''' network callback function ''' def handle_connect( self ): logging.debug("connect establishment ...") self.is_conn_ = True self.connect_time_ = time.time() pass def handle_close( self ): self.is_conn_ = False logging.debug("handle_close.") self.close() pass def handle_read( self ): sub_buf = self.recv( MAX_RECV_CACHE ) if len(sub_buf) == 0: return self.recv_buf_ = self.recv_buf_ + sub_buf logging.debug("handle_read, recv size: %d"%len(self.recv_buf_)) pass def handle_error(self): logging.debug("handle_error") pass def handle_write( self ): if not self.is_conn_: return logging.debug("handle_write.") sent = self.send( self.send_buf_ ) self.send_buf_ = self.send_buf_[sent:] pass def writable( self ): return (len( self.send_buf_ ) > 0) def readable(self): return True