API mit asynchronem Aufruf

Gast #1945401
Lesenswert?
• ▲
▼
Hallo zusammen,

Ein Gedankenspiel ;-).

Nehmen wir mal an, dass ich eine API selber in C schrieben würde. Eine 
dieser Schnittstellenfunktionen lautet da z.B :

- Anmeldung4Polling();

Die Funktion soll eigentlich nur dafür sorgen, dass "in der API" ständig 
nach irgendwas gepollt wird.

... so nach einer gewissen Zeit, ist das Ergebnis des Pollen so, dass 
der Aufrufer informiert werden muss.

Da sehe ich nun folgende Möglichkeiten:
a) Man würde einen Funktionszeiger der Funktion Anmeldung4Polling 
übergeben und wenn das Ereignis auftritt würde die API dann diese 
Funktion aufrufen (CallBack)

b)  Wie könnte sowas noch umgesetzt werden !?

Gruß und Dank

Hans
Gast #1945674
Lesenswert?
• ▲
▼
> a) Man würde einen Funktionszeiger der Funktion Anmeldung4Polling
> übergeben und wenn das Ereignis auftritt würde die API dann diese
> Funktion aufrufen (CallBack)

> b)  Wie könnte sowas noch umgesetzt werden !?

Jede andere Variante tut prakisch dasselbe.

Ob man "eine Message" an ein genanntes Fenster schickt (Windows-typisch)
oder in eine genannte Pipe was reinschreibt (auf die der Wirt mit einem 
eigenen Prozess wartet), eine übertragene Semaphore setzt damit der 
Hauptprozess davon beeinflusst wird oder per http Socket eine Nachricht 
gedsendet wird.

Der CallBack ist schon in Ordnung.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.