Anders and Briegel in Python
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

41 lines
1.2KB

  1. from websocket_server import WebsocketServer
  2. from SimpleHTTPServer import SimpleHTTPRequestHandler
  3. from BaseHTTPServer import HTTPServer
  4. import os, sys, threading
  5. import webbrowser
  6. clients = []
  7. def new_message(client, server, message):
  8. print "Receieved update from client {}.".format(client["id"])
  9. server.send_message_to_all(message)
  10. def new_client(client, server):
  11. print "Client {} connected.".format(client["id"])
  12. clients.append(client)
  13. def client_left(client, server):
  14. print "Client {} disconnected.".format(client["id"])
  15. clients.remove(client)
  16. if __name__ == '__main__':
  17. # Change to the right working dir
  18. where = os.path.join(sys.path[0], "../static")
  19. os.chdir(where)
  20. # Start the HTTP server
  21. httpserver = HTTPServer(('', 5001), SimpleHTTPRequestHandler)
  22. thread = threading.Thread(target = httpserver.serve_forever)
  23. thread.daemon = True
  24. thread.start()
  25. webbrowser.open("http://localhost:5001/")
  26. # Start the websocket server
  27. server = WebsocketServer(5000)
  28. server.set_fn_new_client(new_client)
  29. server.set_fn_message_received(new_message)
  30. server.set_fn_client_left(client_left)
  31. server.run_forever()
  32. httpserver.shutdown()