Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem mit Chat (1 Server + mehrere Clients) (https://www.delphipraxis.net/19107-problem-mit-chat-1-server-mehrere-clients.html)

Ultimator 29. Mär 2004 15:19


Problem mit Chat (1 Server + mehrere Clients)
 
Ich hab ein Problem mit meinem Chat, der mit einem Server und mehreren Clients läuft (laufen soll), und zwar sendet der Server seinen erhaltenen Text nur an den Client weiter, der sich als erster verbunden hat. Wenn ich bei diesem zweiten Clienten einen Text schicke, dann erhält ihn nur der erste in seinem Memo, er selber aber nicht. Könnt ihr mir helfen?

Hier zur Veranschaulichung der QT vom Server:
Delphi-Quellcode:
unit Server_U;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    ServerSocket1: TServerSocket;
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
i :integer;
msg :string;

begin
Memo1.lines.add(Socket.ReceiveText);
For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
msg:=Socket.ReceiveText;
with ServerSocket1.Socket.Connections [I] do
if (Connected) then SendText(Memo1.Text);
Memo1.Clear;
end;
end;

end.
Kann man das evtl. auch noch besser machen?

c113plpbr 29. Mär 2004 15:27

Re: Problem mit Chat (1 Server + mehrere Clients)
 
Dein Fehler sollte in dieser Zeile liegen:
Delphi-Quellcode:
Memo1.Clear;
Du scheinst den Text der memo zu löschen, bevor du ihn an alle clients geschickt hast.
Wenn du dies erst später machst, sollte es funktionieren ...

ciao, Philipp

Ultimator 30. Mär 2004 18:20

Re: Problem mit Chat (1 Server + mehrere Clients)
 
Danke! Jetzt gehts! :bouncing4:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz