Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
ServerSocket1.Socket.Connections[0].SendText(ReceivedText);
Ist Schwachsinn!
Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
ServerSocket1.Socket.Connections[i].SendText(Socket.ReceivedText);
So muss es wenn schon heißen. Vorher werden in einer Schleife alle Connections durchgegengen, der Text aber immer an den Index 0 gesendet.
Wenn man diese 0 durch i ersetzt bekommen auch alle Clients die Nachricht.
//Edit: ReceivedText gibt es nicht. Es muss Socekt.ReceivedText heißen.
Das ganze kommt natürlich ins OnRead Ereigniss des Servers.
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
Ist genauso Schwachsinn! Wieso willst du den Text, den du grade an die Clients weitersendest im OnWrite Ereigniss zum Memo hinzufügen? Das muss natürlich auch gemacht werden, aber ich denke eher, dass du mit
Socket.ReceiveText
den empfangenen Text direkt hinzufügen willst.
Daher solltest du die Zeile
Memo1.Lines.Add(Socket.ReceiveText);
auch ins OnRead und nicht ins OnWrite Ereigniss schreiben.
Ach ja ... und vermeide bitte wenigstens so unnötige Fehler, wie "brache
hile beim chat". Und schöner sieht dein geposteter Text auf jeden Fall auch aus, wenn du deine Shift Taste ab und zu mal benutzt ...