2022-03-27 12:59:14 +02:00
|
|
|
from http.server import HTTPServer
|
|
|
|
|
|
|
|
from Code.Communication.Neighbours import Neighbours
|
|
|
|
from Code.Communication.RequestHandler import RequestHandler
|
2022-03-27 16:43:15 +02:00
|
|
|
from Code.UI.PlayingField import GameState
|
2022-03-27 12:59:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
class Server:
|
2022-03-27 16:43:15 +02:00
|
|
|
def __init__(self, neighbours: Neighbours,game_state:GameState):
|
|
|
|
self.server = None
|
2022-03-27 12:59:14 +02:00
|
|
|
self.neighbours = neighbours
|
2022-03-27 16:43:15 +02:00
|
|
|
self.game_state = game_state
|
2022-03-27 12:59:14 +02:00
|
|
|
self.port = neighbours.own_process.port
|
|
|
|
self.ip = neighbours.own_process.ip
|
|
|
|
|
|
|
|
def stop_server(self):
|
|
|
|
print("Trying to stop server")
|
|
|
|
self.server.shutdown()
|
|
|
|
|
|
|
|
def start(self):
|
|
|
|
RequestHandler.neighbours = self.neighbours
|
2022-03-27 16:43:15 +02:00
|
|
|
RequestHandler.game_state = self.game_state
|
2022-03-27 12:59:14 +02:00
|
|
|
print(f"HTTP Server Running on {self.ip}: {self.port}")
|
|
|
|
self.server = HTTPServer((self.ip, self.port), RequestHandler)
|
|
|
|
self.server.serve_forever()
|
|
|
|
print("Stopped server")
|