进程通信:匿名管道和命名管道
生活随笔
收集整理的這篇文章主要介紹了
进程通信:匿名管道和命名管道
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、進(jìn)程間通信方式
二、關(guān)于管道的使用
代碼方面網(wǎng)上有很多,這里就不在贅述了,底下也會給出源碼。
匿名管道
關(guān)于匿名管道,只能在相關(guān)聯(lián)的進(jìn)程間通信,而且方向單一。
//指定管道的方向。 public enum PipeDirection {//指定管道方向向內(nèi)In = 1,//向外Out = 2,//雙向,匿名時禁止使用,會報錯InOut = 3 }命名管道
使用命名管道的時候,我查了一些資料,發(fā)現(xiàn)有些資料寫的是支持 full duplex 的,但是我測試的時候發(fā)現(xiàn)并不能和 socket 一樣,同時雙向讀寫。
命名管道同一時間只能有一個方向,而且寫入不讀取會阻塞,兩邊方向沖突的時候也會阻塞。所以想實現(xiàn)類似 socket 那樣的全雙工,就得開兩個管道了。
這次折騰主要就是被某文章誤導(dǎo)是全雙工,所以才測試研究一下。
如果有錯誤還請指正。
三、測試代碼
下載
關(guān)于C#管道的使用,包括匿名管道、命名管道、命名管道Message模式、和半雙工的測試代碼。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的进程通信:匿名管道和命名管道的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 练习题 20131021
- 下一篇: 第三章 组装个人计算机