Hi,
ich hab nen kleinen chat programmiert. Das Problem ist nur wenn ich was schreibe kommt es immer doppelt!
Hier der Code von Client:
Delphi-Quellcode:
procedure TClient.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add(Socket.ReceiveText);
end;
procedure TClient.Button1Click(Sender: TObject);
begin
ClientSocket1.Active := false;
ClientSocket1.Host := Edit2.text;
ClientSocket1.Active := true;
end;
procedure TClient.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit3.text + ': ' + edit1.Text);
ClientSocket1.Socket.SendText(Edit1.text);
Edit1.text := '';
end;
procedure TClient.Button4Click(Sender: TObject);
begin
Server1.show;
end;
Und hier der Code vom Server:
Delphi-Quellcode:
rocedure TServer1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
inc(ClientCount);
end;
procedure TServer1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
dec(ClientCount);
end;
procedure TServer1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
i: Integer;
t:
string;
begin
t := Socket.ReceiveText;
for i := 0
to ClientCount-1
do
ServerSocket1.Socket.Connections[i].SendText(t);
memo1.Lines.Add(t);
end;
procedure TServer1.FormCreate(Sender: TObject);
begin
ServerSocket1.Active := true;
end;
So was kann ich dann tun?
Spider