Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: brauche hile beim chat

  Alt 16. Mär 2006, 21:04
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 ...
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat