How to setup an event handler object in Python?
After my hacking days, I've found a very elegant way of letting little text chat clients (or other applications, for that matter) communicating between each other: a "listener" class.
import socket, threading
class listener(threading.Thread):
def __init__(self, handler, port=5543):
threading.Thread.__init__(self)
self.handler = handler
self.port = port
self.sock = socket.socket()
self.sock.bind(('',port))
self.sock.listen(1)
def run(self):
(conn,addr) = self.sock.accept()
while 1:
data = conn.recv(1024)
if data == '':
break
self.handler(data)
self.sock.close()
def write(msg):
print msg
server = listener(write)
server.start()
import socket, threading
class listener(threading.Thread):
def __init__(self, handler, port=5543):
threading.Thread.__init__(self)
self.handler = handler
self.port = port
self.sock = socket.socket()
self.sock.bind(('',port))
self.sock.listen(1)
def run(self):
(conn,addr) = self.sock.accept()
while 1:
data = conn.recv(1024)
if data == '':
break
self.handler(data)
self.sock.close()
def write(msg):
print msg
server = listener(write)
server.start()
Comments
Post a Comment