| Autor |
Beitrag |
Calyptus
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 15.08.05 17:50
Hallo,
ich will einen Chat bauen für mehr wie 2 Leute. Es soll ein Serverprogramm geben und ein paar Clients. Die Clients schicken ihre Nachrichten an den Server. Das Problem ist jetzt wie ich
a) an alle Clients und
b) die Nachricht wieder zurück schicke.
Es muss doch eine andere Lösung geben, als dem Server 32 idTCPClients zu geben oder?
Ich hab das hier gefunden, aber es nicht für Indy hinbekommen:
Delphi-Quelltext 1: 2: 3: 4: 5:
| For i := 0 to ServerSocket.Socket.ActiveConnections -1 do begin with ServerSocket.Socket.Connections [i] do if (Connected) then SendText (NachrichtEdit.Text); end |
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: Mo 15.08.05 17:56
schau dir das Chat-Beispiel von den Indys an! das ist ein Chat für mehr als 2
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 15.08.05 18:34
Ok. Danke. Es tut so halbwegs...
//Edit: Beim Client führt das hier nach ca 3 Sec dazu, das das Programm nicht mehr reagiert:
Delphi-Quelltext 1: 2:
| if Client.Connected then Memo1.Lines.Add(Client.ReadLn('', 5)); |
Das ganze wird jede Sekunde im Timer ausgeführt.
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 15.08.05 21:04
Moin!
Du darfst nur lesen, wenn auch Daten da sind; sonst wartet .ReadLn, bis Daten da sind...
cu
Narses
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 15.08.05 21:11
Ich hab gedacht die '5' wär das Timeout falls das lesen nicht klappt. Naja.. wie mach ich das dann?
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
CeeJay D-Magic
      
Beiträge: 94
Win XP Prof.
Delphi 7, Lazarus 0.9
|
Verfasst: Di 16.08.05 12:29
Muss es unbedingt eine der indy komponenten sein, wieso nimmst du nicht einfach mal die TServerSocket, bzw. TClientSocket zu benutzen, lad dir dazu folgendes runter
auf dem Thread:
www.delphi-forum.de/...ogramm_43227,20.html
Ich hoffe ich konnte helfen, CeeJay D-Magic
|
|
DarkLord05
      
Beiträge: 449
WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
|
Verfasst: Di 16.08.05 12:39
[OT]
Vill. will er mit den Indys arbeiten weil die jetzt moderner sind^^ (weiß nicht wie ich mich in diesem Fall anders ausdrücken soll^^).
Aber um es auch mal zu sagen, ich hab mit indy bis jetzt noch nix geschafft und mein kleiner Chat hat einen Server und verschickt auch daten an alle. (OHNE Client)
[/OT]
|
|
CeeJay D-Magic
      
Beiträge: 94
Win XP Prof.
Delphi 7, Lazarus 0.9
|
Verfasst: Di 16.08.05 12:45
Geht das überhaupt?? so ohne Client??
Mit indy hab ich auch noch nechts hinbekommen....
Irgendwie zeigt er mir sogar fehler, wenn ich die Indybespiele, die es im Internet zum downloaden gab compilieren will <- Das kann ich überhaupt nicht verstehen!
Wofür gibt es dann diese dämlichen Bsp. wenn sie nicht funktionieren!!! (Nur damit kein Misssverständniß aufkommt, ich besitze die Indy koponenten).
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Di 16.08.05 15:00
CeeJay D-Magic hat folgendes geschrieben: | | wieso nimmst du nicht einfach mal die TServerSocket, bzw. TClientSocket zu benutzen |
Um erlich zu sein weil ich se nicht finde. Kann es sein das Indy die löscht, oder sind die bei Delphi 7 Prof einfach nicht dabei? Ich würde sie lieber nehmen weil ich dazu ein paar sehr einfache Beispiele habe.
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
DarkLord05
      
Beiträge: 449
WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
|
Verfasst: Di 16.08.05 17:43
Also, die gibt es werden aber nur nicht mehr mit-installiert.
KLICK MICH
Da steht wie du die nachinstllieren kannst. Ist ganz einfach^^
@CeeJay D-Magic
Also ich habe das hinbekommen das in meinem Chat nur ein Server ist wo sich alle Clients anmelden müssen. Und der Server hat nicht nebenbei noch einen Client laufen. Weiß gar nicht warum damit so viele ein Problem haben. Gut ein bisschen ausprobieren gehört.
|
|
CeeJay D-Magic
      
Beiträge: 94
Win XP Prof.
Delphi 7, Lazarus 0.9
|
Verfasst: Do 18.08.05 09:48
Achso meinst das, das is doch voll easy!
Da bin ich schon weiter
aber ein Problem gibt es dennoch s.h.: www.delphi-forum.de/....php?p=282256#282256
Vielleicht hat da wer ne Lösung?
@Calyptus, konnte dir diese Installationshinweise helfen??
|
|