Autor Beitrag
f.stendike
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 20.09.03 12:32 
Hallo an alle Programmierer da draußen!!!

Ich plane, etwas ähnliches wie einen Instant Messenger zu machen. Ich hbae auch bereits ein ganz einfaches Programm mittels der Indy Komponenten realisiert, aber es ist noch etwas unsauber auf der Client/Server Seite realisiert:

1. Wenn der Server eine Nachricht eines Clients erreicht, wird ja OnExecute aufgerufen. Dort habe ich nur tcpserver.readln(Msg) ; stehen. Ich hab mal gelesen, das man dieses Ereignis aber solange "halten" soll, bis der Client sich disconnected mittels einer do while schleife. Warum genau???

2. Hat der Server dann die Nachricht, schickt er sie an alle Clients. Das funktioniert soweit auch, aber wie kann man auf der Client Seite den Empfang gescheit regeln? Bisher versucht ein Timer mit einem kurzen Intervall mittels tcpclient.readln(Msg); die Nachricht zu empfangen. Das ist aber nicht gut, da dann das Programm für kurze Zeit immer einfriert. Auch die Antifreeze Komponente hilf da nicht wirklich. Ein OnExecute ereignis hat die Client Komponente ja nicht. Wie also gescheit machen? Muss ich etwa auf Client und Server Seite jeweils eine Client und eine Server Komponente mit unterschiedlichen Ports haben, oder was?

3. Was bedeuted das OnExecute Ereignis überhaupt? Steht in der Doku nicht so gut beschrieben.

Anm.: Bisher konnte ich viele Probleme mittels der Indy Demos lösen, aber beim Demo Chat bei meiner Indy Version (9.irgendwas) wurde das ganze auch mittels der Timer Methode gelöst, allerdings noch schlechter wie bei mir.


Im Vorraus schon mal vielen Dank für alle Antworten und das Lesen bis hierher.
Killmag10
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 297

Suse Linux / DOS / Windows All In One ;)
D4 / D2005
BeitragVerfasst: Sa 20.09.03 13:22 
also wenn ich dich jetzt richtig verstehe schickt ein serversocket an einen clientsocket ne naricht.

ich glaube was du brauchst ist das ereigniss OnRead :wink:

ich hab selber schon so in programm geschrieben !

also wenn du mehr hilfe brauchst hir ist meine ICQ Nummer: 326848286

_________________
Mega-inkompetente Computer-ruinierende Organisation spioniert ohne funktionierende Technik