Guest User

Untitled

a guest
Jan 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. from twisted.internet import reactor
  2. from autobahn.websocket import WebSocketServerFactory, WebSocketServerProtocol
  3. from threading import Thread
  4.  
  5. class KeySocketProtocol(WebSocketServerProtocol):
  6. def __init__(self, factory):
  7. self.factory = factory
  8.  
  9. def onOpen(self):
  10. self.factory.clients.append(self)
  11.  
  12. def onClose(self):
  13. self.factory.clients.remove(self)
  14.  
  15. class KeySocketFactory(WebSocketServerFactory):
  16. debug = False
  17. def __init__(self):
  18. self.clients = []
  19.  
  20. def buildProtocol(self, addr):
  21. return KeySocketProtocol(self)
  22.  
  23. class KeySocketServer(Thread):
  24. def __init__(self):
  25. self.factory = KeySocketFactory()
  26. self.factory.protocol = KeySocketProtocol
  27. reactor.listenTCP(1337, self.factory)
  28. Thread.__init__(self)
  29.  
  30. def run(self):
  31. reactor.run(installSignalHandlers=0)
  32.  
  33. def sendKey(self, key):
  34. for client in self.factory.clients:
  35. client.sendMessage(key)
Add Comment
Please, Sign In to add comment