Ich bin nicht sehr geschickt in C#, aber ich benutze es für eine Hausarbeit. Ich habe eine Funktion erstellt, die eine Liste von Clients, die mit einem Server verbunden sind, an die anderen Clients sendet
private void SendListToClients()
{
Socket userSocket=null;
string username = null;
string role = null;
foreach (User Users in UserList)
{
userSocket = Users.getSocket();
username = Users.getUsername();
role = Users.getRole();
userSocket.Send(Encoding.ASCII.GetBytes("!ListStart\n"));
for(int i=0;i<UserList.Count;i++)
{
User UsersControl = (User)UserList[i];
string roleU = UsersControl.getRole();
string usernameU = UsersControl.getUsername();
userSocket.Send(Encoding.ASCII.GetBytes("!ClientList:"+usernameU + ":" + roleU+"\n"));
}
}
}
Mein Problem ist in der Zeile userSocket.Send(), wenn ich dies auf der Client-Seite erhalte ich nicht erhalten (wenn der Benutzer in der Liste sind 5 zum Beispiel) 5 senden, aber 1 senden mit allen 5 Benutzern. Wie kann ich das lösen? Gibt es sonst eine Möglichkeit, mein Objekt (UserList) wirklich über den Socket zu senden?