簡體   English   中英

在Windows上通過streambuf實現c ++ IPC

[英]c++ IPC through streambuf on Windows

我有一個消息對象序列化為二進制數據流(可以是任何std :: streambuf),並且我想將其傳輸到另一個進程。 關鍵是,服務器應用程序必須處理許多客戶端,連接必須是異步的(因為有多個客戶端),並且必須是雙向的(實際上,它可以由兩個獨立的連接實現)。 消息的長度可變,應該排隊。 我應該選擇哪種IPC方法? 有沒有簡單的方法可以通過應用程序傳輸流緩沖區? 速度並不重要,但是最好不要阻塞太多時間。 一切都將在Windows(我的目標是XP和更高版本)下在Windows本地完成,無需網絡支持。

我還需要收聽傳入的連接。 服務器應該自動檢測新連接,進行一些握手並接受(如果兼容)。 我知道我需要自己寫很多東西。 無論如何,必須有可能實現,但是當然越簡單越好。

您可以在Windows中使用命名管道。 請參閱MSDN參考: http : //msdn.microsoft.com/zh-cn/library/aa365150%28v=vs.85%29.aspx

您也可以將其設置為全雙工(雙向)和異步。 如果您熟悉Windows上的文件I / O API,則應該易於使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM