Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 7th, 2012  |  syntax: None  |  size: 0.96 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import select,socket
  2. serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  3. serversocket.bind(('',9092))
  4. serversocket.listen(5)
  5. serversocket.setblocking(0)
  6. epoll = select.epoll()
  7. epoll.register(serversocket.fileno(),select.EPOLLIN)
  8. connections = {}; requests = {}; responses = {}
  9. while(1):
  10.     events = epoll.poll(1)
  11.     for fileno, event in events:
  12.         if fileno == serversocket.fileno():
  13.             connection, address = serversocket.accept()
  14.             connection.setblocking(0)
  15.             epoll.register(connection.fileno(),select.EPOLLIN)
  16.             connections[connection.fileno()] = connection
  17.             print "Current Connections"
  18.             for c in connections:
  19.                 print connections[c].getpeername()
  20.         elif event & select.EPOLLHUP:
  21.             epoll.unregister(fileno)
  22.             connections[fileno].close()
  23.             print str(connections[fileno]) + " disconnected"
  24.             del connections[fileno]