Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

NamedPipes - Status des Buffers

  Alt 30. Jan 2015, 17:29
Hallo,

Ich habe hier 2 Programme (A und B) die via NamedPipes miteinander kommunizieren.
Angenommen die Buffergröße beträg 120 Bytes. Nun schreibt A 100 Bytes in die Pipe, die B auslesen könnte. Bevor B aber die Daten liest, möchte A weitere 100 Bytes senden.

Problem: In diesem Fall würde WriteFile blockieren solange B seine Daten nicht ausliest, da der Buffer für die Schreiboperation nicht ausreicht und WriteFile solange blockiert bis genug Speicher frei ist (B also in dem Fall mindestens 80 Bytes gelesen hat).

Ich möchte nun also bevor ich mit A Daten sende wissen wie viel Platz B noch in seinem Buffer hat und falls nicht genug Platz vorhanden ist erst gar nicht WriteFile aufrufen.

Gibt es da etwas?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat