Können Sie genauer erklären, was ist der Unterschied zwischen PIPE_READMODE_MESSAGE/PIPE_READMODE_BYTE?
Obwohl ich habe gehen durch das Dokument hier es noch nicht die für mich Sinn machen, was es ist:
Daten Lesen aus der pipe als stream
Nachrichten. Diesen Modus können Sie nur
verwendet, wenn PIPE_TYPE_MESSAGE ist auch
angegeben.
- Related post: stackoverflow.com/questions/4514784/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im BYTE-mode, du bist die eine, die Bedürfnisse herauszufinden, die Trennung der Daten, so dass es entschlüsselt werden kann auf der Empfängerseite. Im MESSAGE-Modus, der API wird dies für Sie tun. Wenn Sie die Nachricht gelesen auf der anderen Seite haben Sie einen ganzen block von Daten (die Nachricht).
In beiden Fällen müssen Sie noch ein paar header-Daten, um wickeln Sie Ihre Nachricht/Daten zu wissen, was es ist, wenn Sie mixing-Daten-Typen geschickt durch die Leitung.
EDIT: Die Dokumentation Punkte, um ein sehr klares Beispiel für Client/Server mit dieser API und den MESSAGE-Modus zwischen den beiden.
http://msdn.microsoft.com/en-us/library/aa365592%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa365588%28v=VS.85%29.aspx
Den Unterschied zwischen
PIPE_TYPE_BYTE
undPIPE_TYPE_MESSAGE
Typ-Modus erklärt werden, auf die http://msdn.microsoft.com/en-us/library/aa365605.aspx:Wenn Sie schreiben wollen, einen Datenstrom mit Bezug auf Rohre, die Sie verwenden sollten
PIPE_TYPE_BYTE
Typ-Modus. Dann können Sie schreiben alle Daten in der pipe-Puffer mit Bezug aufWriteFile
und Lesen Sie es auf der anderen Seite mit Bezug aufReadFile
. Wie genau die Daten gesendet werden ist nicht wichtig für Sie. Die Daten von einigenWriteFile
Betrieb übertragen werden können als ein Datenblock.Wenn Sie
PIPE_TYPE_MESSAGE
Typ Modus jeder Schreibvorgang folgt vor, um die Daten zu übertragen, weil das schreiben in die pipe wird interpretiert als das senden der Nachricht. Es gibt eine spezielle FunktionTransactNamedPipe
die Ihnen erlauben, eine Nachricht zu schreiben auf und Lesen eine Nachricht aus dem angegebenen benannten pipe in eine einzelnen Netzwerk-Betrieb.