def test (port='8021'): fs = ftp_server ( unix_authorizer(), port=string.atoi (port) ) try: asyncore.loop() except KeyboardInterrupt: fs.log_info('FTP server shutting down. (received SIGINT)', 'warning') # close everything down on SIGINT. # of course this should be a cleaner shutdown. asyncore.close_all()
class thing: def __del__ (self): print 'a thing has gone away %08x' % id(self) class sample_calc: def product (self, *values): return reduce (lambda a,b: a*b, values, 1) def sum (self, *values): return reduce (lambda a,b: a+b, values, 0) def eval (self, string): return eval (string) def make_a_thing (self): return thing() if '-f' in sys.argv: server_class = fastrpc_server address = ('', 8748) else: server_class = rpc_server address = ('', 8746) root = rpc_server_root() root.calc = sample_calc() root.sys = sys rs = server_class (root, address) asyncore.loop()
self.set_terminator ('\r\n') self.buffer = '' self.count = 0 def collect_incoming_data (self, data): self.buffer = self.buffer + data def found_terminator (self): data, self.buffer = self.buffer, '' n = string.atoi (string.split (data)[0]) tc = thread_channel (self, thread_function, self.count, n) self.count = self.count + 1 tc.start() class thread_server (asyncore.dispatcher): def __init__ (self, family=socket.AF_INET, address=('127.0.0.1', 9003)): asyncore.dispatcher.__init__ (self) self.create_socket (family, socket.SOCK_STREAM) self.set_reuse_addr() self.bind (address) self.listen (5) def handle_accept (self): conn, addr = self.accept() tp = thread_parent (conn, addr) thread_server() #asyncore.loop(1.0, use_poll=1) asyncore.loop ()
def profile_loop (): try: asyncore.loop() except KeyboardInterrupt: pass
if __name__ == '__main__': if '-s' in sys.argv: sys.argv.remove ('-s') print 'Enter password: '******'-e' in sys.argv: sys.argv.remove ('-e') encrypt = 1 else: encrypt = 0 if len(sys.argv) > 1: port = int(sys.argv[1]) else: port = 8023 if password is not None: s = secure_monitor_server (password, '', port) if encrypt: s.channel_class = secure_encrypted_monitor_channel import sapphire s.cipher = sapphire else: s = monitor_server ('', port) asyncore.loop(use_poll=1)