|
- from websocket_server import WebsocketServer
- from SimpleHTTPServer import SimpleHTTPRequestHandler
- from BaseHTTPServer import HTTPServer
- import os, sys, threading
- import webbrowser
-
- clients = []
-
- def new_message(client, server, message):
- print "Receieved update from client {}.".format(client["id"])
- server.send_message_to_all(message)
-
- def new_client(client, server):
- print "Client {} connected.".format(client["id"])
- clients.append(client)
-
- def client_left(client, server):
- print "Client {} disconnected.".format(client["id"])
- clients.remove(client)
-
- if __name__ == '__main__':
- # Change to the right working dir
- where = os.path.join(sys.path[0], "../static")
- os.chdir(where)
-
- # Start the HTTP server
- httpserver = HTTPServer(('', 5001), SimpleHTTPRequestHandler)
- thread = threading.Thread(target = httpserver.serve_forever)
- thread.daemon = True
- thread.start()
- webbrowser.open("http://localhost:5001/")
-
- # Start the websocket server
- server = WebsocketServer(5000)
- server.set_fn_new_client(new_client)
- server.set_fn_message_received(new_message)
- server.set_fn_client_left(client_left)
- server.run_forever()
- httpserver.shutdown()
|