ereignisorientiertes consolen proggie
-
hola leute
ich wuerd gerne fuer meinen linux-server ein proggie schreiben, das auf bestimmte ereignisse reagieren soll. in meinem fall sind es socketverbindungen, die von meinem programm ne info bekommen und dann wieder disconnecten.
zum proggen verwende ich kylix. wenn ich mit der clx arbeite is des mit den ereignissen kein problem. aber ich kann das nur als konsolenprogramm auf den server legen, weil da kein x-windows oder so drauf ist.
wie kann ich das mit einer console dann machen ? ne endlosschleife machen und immer abfragen ob jemand sich verbinden will ? das wird wahrscheinlich ziemlich auf die cpu gehen wuerd ich mal schaetzen.
oder gibts bei kylix dafuer was spezielles ?ich hoff, ich hab mich halbwegs verstaendlich ausgedrueckt
Meep Meep
-
ich verschieb dich mal in das BCB Forum, da sich dort mehr Leute mit Kylix/der CLX auskennen
-
Du kannst auch in CLX-Konsolen-Programmen (nicht-visuelle) Komponenten verwenden, also z.B. TServerSocket. Entweder du erstellst die Komponenten zur Laufzeit, oder du benutzt ein DataModule, um sie zur Entwurfszeit darauf abzulegen.
-
hola jansen
das ich clx-kompos verwenden kann, hab ich scho gewusst und auch schon oefters gemnacht.
mein problem ist, das konsolen-proggies ne main haben, die wird abgearbeitet und dann is das programm zuende.
wie kann ich das aber machen, das das programm im hintergrund laeuft und auf eingehene socketverbindungen wartet, die bediehnt, verbindung schliesst und auf weitere verbindungen wartet. muss ich da eine endlosschleife machen ?
is sicherlich net die beste loesung. irgendwie muss er doch sozusagen in schlafmodus geschickt werden und darauf warten, das er nun wieder was zutun bekommt.
unter windows wartet solche proggies ja auch auf eine benachrichtigung, wenn mal was zutun ist.
sleep oder so kann ich ja auch net einbauen, weil ich net weiß, wann die naechste verbindung ansteht.vielleicht faellt ja troetzdem noch jemand etwas ein
Meep Meep
PS: wie wuerde das jamend von euch unter windows realisieren, wenn er nur ein consolen-proggie machen duerfte ?