Also ich versuche für mein Spiel ein Netzwerkmodul zu schreiben.
Damit man nicht sich jedes mal kümmern muss, an welcher stelle in einem tuple die pos x steht, hatte ich die idee eine art PresentationClass für übertragungen anzulegen.
zb. Client:
Server:
Code: Alles auswählen
# Bei init,
# registriert funktion onPosUpdate im Server und ruft diese auf, falls ein PositionUpdate "event" kommt
server.register(onPosUpdate, PositionUpdate)
def onPosUpdate(client, data):
# data ist eine PositionUpdate instanz
print( client.address, data.x )
Presentations:
Code: Alles auswählen
class PositionUpdate:
def __init__(self, player):
self.x = player.x
self.y = player.y
Wenn ich auf Clientseite die Daten schicken will, hab ich bis jetzt mit pickle einen geeigneten string der klasse PositionUpdate erstellt.
Da aber noch zu viel "müll" drin ist, wollte ich selbst ein "transfer-string" zusamemstellen und ihn auf server seite wieder umwandeln.
Natürlich könnt ich auch einfach dicts nehmen, aber die IDE unterstützt code completion, was bei nem dict nicht viel nützt, bei einer klasse aber schon.
ich hoffe ich habs verständlich erklärt ^^, falls nicht, fragt einfach.
lg