<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[EOF bei Named Pipes]]></title><description><![CDATA[<p>Hi,</p>
<p>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?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241311/eof-bei-named-pipes</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 01:04:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241311.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 May 2009 20:36:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EOF bei Named Pipes on Mon, 18 May 2009 20:36:41 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>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?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712488</guid><dc:creator><![CDATA[Junktyz]]></dc:creator><pubDate>Mon, 18 May 2009 20:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to EOF bei Named Pipes on Tue, 19 May 2009 08:56:56 GMT]]></title><description><![CDATA[<p>Es gibt kein EOF.<br />
Egal wie Du die named pipe verwendest soltest Du Dir ein Protokoll einfallen lassen. Ich sende meistens 2 oder 4 Bytes zuerst mit der Länge der nachfolgenden Nachricht.</p>
<p>Ansonsten schau Dir den Message Mode der Named Pipes an:<br />
<a href="http://msdn.microsoft.com/en-us/library/aa365605(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa365605(VS.85).aspx</a></p>
<blockquote>
<p>To create the pipe handle in message-read mode, specify PIPE_READMODE_MESSAGE. Data is read from the pipe as a stream of messages. A read operation is completed successfully only when the entire message is read. If the specified number of bytes to read is less than the size of the next message, the function reads as much of the message as possible before returning zero (the GetLastError function returns ERROR_MORE_DATA). The remainder of the message can be read using another read operation.</p>
</blockquote>
<p>Entsprechende Samples findest Du auch dort in der MSDN.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712656</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 19 May 2009 08:56:56 GMT</pubDate></item></channel></rss>