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?
Julian J. Pracht