Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Chat (https://www.delphipraxis.net/8199-chat.html)

Die Muhkuh 30. Aug 2003 16:16


Chat
 
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

Sharky 30. Aug 2003 16:26

Re: Chat
 
Zitat:

Zitat von Spider
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.Button2Click(Sender: TObject);
begin
  ClientSocket1.Socket.SendText(Edit3.text + ': ' + edit1.Text);
  ClientSocket1.Socket.SendText(Edit1.text);
  Edit1.text := '';
end;
So was kann ich dann tun?

Spider

Eventuell Edit1.Text nur einmal senden? :D

Die Muhkuh 30. Aug 2003 16:30

Re: Chat
 
Ohha, da hab ich doch glatt was übersehen. :oops: Peinlichh :oops:


THX

Die Muhkuh 30. Aug 2003 17:34

Re: Chat
 
Neuer Chat neues Problem!

Delphi-Quellcode:
var
  Form1: TForm1;
  clientcount: Integer=0;

implementation

{$R *.DFM}

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.SenderClick(Sender: TObject);
begin
  memo1.Lines.Add(User.text+': '+senden.text);
  Senden.text := '';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  ClientSocket1.Active := false;
  ClientSocket1.Host := Host.Text;
  ClientSocket1.Active := true;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  inc(Clientcount);
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  dec(Clientcount);
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
 i: Integer;
 t: string;
begin
 t := Socket.receivetext;
 for i := 0 to Clientcount-1 do
 Serversocket1.Socket.Connections[1].SendText(t);
 memo1.lines.add(t);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  ClientSocket1.Active := false;
end;
Jetzt bekomm ich ne Fehlermeldung: Asyncroner Socker Fehler: 10061 was nu ich hab keine Fehler im Quelltext enteckt!

kiar 30. Aug 2003 17:39

Re: Chat
 
gegoogelt

http://www.logsat.com/spamfilter/for...messageID=1206

Minz 30. Aug 2003 18:04

Re: Chat
 
Probiers mal mit

Code:
procedure TForm1.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;
i statt 1 :mrgreen:

Die Muhkuh 30. Aug 2003 20:22

Re: Chat
 
Das mit dem 1 statt i ist schon behoben! Geht trotzdem nicht!

Minz 30. Aug 2003 22:10

Re: Chat
 
Es muss auch kein richtiger Fehler sein. Die Meldung tritt oft dann auf, wenn du auf eine Netzwerkverbindung zugreifen willst, die nicht existiert. Z.B. dann wenn der Server an den Client was schicken will, dieser aber gar net aktiv ist.

Also kein Syntax-Fehler sondern eher ein Reihenfolgen/Zeit/Umstands-Fehler :mrgreen:

Die Muhkuh 31. Aug 2003 17:44

Re: Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also dieser Fehler besteht weiter hin!

Ich hab den Chat mal angehängt mit Source natülich!

Bitte um Hilfe!


Spider

Minz 31. Aug 2003 18:04

Re: Chat
 
Habe nur Delphi 4...funzt das mit Delphi 5?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.
Seite 1 von 2  1 2      

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