Verteiltesystheme/Code/Communication/Server.py

27 lines
811 B
Python
Raw Normal View History

from http.server import HTTPServer
from Code.Communication.Neighbours import Neighbours
from Code.Communication.RequestHandler import RequestHandler
from Code.UI.PlayingField import GameState
class Server:
def __init__(self, neighbours: Neighbours,game_state:GameState):
self.server = None
self.neighbours = neighbours
self.game_state = game_state
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
RequestHandler.game_state = self.game_state
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")