Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » EOF bei Named Pipes

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.05.2009, 08:45 Uhr
Junktyz



Hi,

ich habe ein Problem. Und zwar habe ich mit einem Serverprozess mittels CreateNamedPipe und ConnectNamedPipe eine wartende, duplexfähige Named Pipe erzeugt. Auf Clientseite habe ich diese mittels CreateFile geöffnet. Wenn ich nun auf Clientseite mit WriteFile schreibe und auf Serverseite mit ReadFile lese, erkenne ich das EOF nicht. Wie kann ich dem Server mitteile, dass er aufhören kann zu lesen? Bisher hängt er in einer Endlosschleife fest. Ein CloseHandle bringt nix, da ich nach dem Schreiben die Antwort ja noch lesen muss. Ein SetEndOfFile meldet einen Fehler ERROR_INVALID_PARAMETER. Weiß jemand einen Rat?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.05.2009, 21:07 Uhr
Hans
Library Walker
(Operator)


Hi,

ich kenn mich da jetzt nicht wirklich aus, aber wäre es nicht Sinnvoll, auf der Clientseite dann ebenfalls eine Pipe zu öffnen, anstatt eine Datei?
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 19.05.2009 um 21:17 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.05.2009, 21:54 Uhr
Junktyz



Hi,

Named Pipes werden mit Dateien realisiert. Erstellen muss der Server sie mit CreateNamedPipe. Öffnen tut man sie aber als wäre es eine Datei. Ich hab aber erfahren, dass man bei Pipes kein EOF signalisieren kann. Nur über Umwege über ein eigenes Protokoll. Entweder über eine Längeninformation am Anfang der Nachricht oder eine feste Bytesequenz, welche ein EOF signalisiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.05.2009, 17:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wenn du text sendest: könntest ja \f verwenden (form-feed) oder ein ähnliches steuerzeichen. bei binärdaten bleibt dir wohl nix anderes übrig das über ein protokoll zu realisieren
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: