Ich code ein Game und will einen Server erstellen, wo sich Clients anmelden können.
Ich sende eine Liste mit den Clients (Usern), welche momentan online sind an den/die Clients.
Serverseitig:
Code: Alles auswählen
def send_clients_list(server_msg,c):
for i in range(len(server_msg)):
print("an client gesendet: ", server_msg[i], i, type(server_msg))
c.send("clients".encode() + server_msg[i])
Clientseitig:
Code: Alles auswählen
print("from_server:", from_server)
if from_server.startswith("clients".encode()):
clients_names.clear()
clients_names.append(from_server.replace("clients".encode(), "".encode()))
update_client_names_display(clients_names) # update client names display
Nach der Anmeldung von 3 Clients, sieht der "Print-Output" des Servers wie folgt aus:
Server Output:
Code: Alles auswählen
an client gesendet: b'aaa' 0 <class 'list'>
an client gesendet: b'aaa' 0 <class 'list'>
an client gesendet: b'bbb' 1 <class 'list'>
an client gesendet: b'aaa' 0 <class 'list'>
an client gesendet: b'bbb' 1 <class 'list'>
an client gesendet: b'ccc' 2 <class 'list'>
Ab der Anmeldung vom dritten Client, sieht der "Print-Output" der Clients wie folgt aus:
Client Output:
Code: Alles auswählen
from_server: b'clientsaaa'
from_server: b'clientsaaa'
from_server: b'clientsbbb'
from_server: b'clientsaaa'
from_server: b'clientsbbbclientsccc'
Habe aber nach Stunden pröbeln keinen Plan mehr.
Sehe ich das richtig, dass clients_names eigentlich ein Array mit Strings sein sollte?
Ich habe den Durchblick verloren.
Vllt kann mir ja jemand helden.