在.NET中使用命名管道完成进程间通信
日期:2007年6月10日 作者: 相关tags: NET 使用 命名 管道 进程 通信-
public static byte[] ReadBytes(PipeHandle handle, int maxBytes) {
- 上一页 [1] [2] [3] [4] [5] [6] 下一页
- 电脑键盘的使用方法和执法训练
- 腾讯(国外QQ)靓号申请,使用,下载方法
- 风玩转MP3:使用Monkeys Audio转换APE为MP3
- 剖析从VB转型到VB.NET的必要性
- Telnet密码破解软件Letmein1.0说明
- PS动画基础教程之使用蒙版制作动画
- PACKAGER - PACKAGER.EXE - 进程信息
- 代理Httport使用方法
- RecoverNT Network V3.5 汉化版
- 职称计算机考试宝典保过版(Internet) V3.3
- iPad使用说明书
- TrIDNet 1.50
- 初谈使用IP策略阻止3389非法访问
- 移动互联网的关键技术(IPv6.Mobile.Internetworking.with.IPv6.eBook)
- Sniffer使用教程
- IE8 (Internet Explorer) for Windows XP 中文上网优化专版
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
byte[]numReadWritten=newbyte[4];
byte[]intBytes=newbyte[4];
byte[]msgBytes=null;
intlen;
handle.State=InterProcessConnectionState.Reading;
handle.State=InterProcessConnectionState.Flushing;
// 读前四个字节并转化为整数:
if(NamedPipeNative.ReadFile(handle.Handle, intBytes,4, numReadWritten, 0)) {
len=BitConverter.ToInt32(intBytes,0);
msgBytes=newbyte[len];
handle.State=InterProcessConnectionState.Flushing;
// 读余下的数据或抛出异常:
if(!NamedPipeNative.ReadFile(handle.Handle,msgBytes,(uint) len,numReadWritten,0)){
handle.State=InterProcessConnectionState.Error;
thrownewNamedPipeIOException("Error readingfrompipe. Internalerror:"+NamedPipeNative.GetLastError().ToString(), NamedPipeNative.GetLastError());
}
}
else {
handle.State=InterProcessConnectionState.Error;
thrownewNamedPipeIOException("Errorreadingfrompipe. Internalerror:"+NamedPipeNative.GetLastError().ToString(), NamedPipeNative.GetLastError());
}
handle.State=InterProcessConnectionState.ReadData;
if(len>maxBytes){
returnnull; }
returnmsgBytes;
}
以上就是命名管道的实现和一些主要的方法,下面介绍如何创建进行文本消息通信的命名管道服务器和客户端应用程序。 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 五、创建命名管道服务器
命名管道服务器是一个多线程的引擎,用来为并发的请求服务,创建新的线程和管道连接。
AppModule.NamedPipes assembly包含了一个基类ApipeConnection,是对普通命名管道操作的封装,例如创建管道、读写数据等等,这是一个抽象类。
另外,有两个从ApipeConnection继承的管道连接类ClientPipeConnection 和 ServerPipeConnection。它们重载了一些方法(例如连接和关闭)并为服务器和客户端命名管道分别提供实现。ClientPipeConnection 和ServerPipeConnection都有调用Dispose方法的析构器,
清除非管控的资源。
命名管道服务器负责创建命名管道,处理客户端连接。有两个主要的类提供了服务功能: ServerNamedPipe和PipeManager。
(1)ServerNamedPipe类
其构造器如下:..
