进程间命名管道通信示例
来源:互联网 发布:黑客帝国 矩阵革命 编辑:程序博客网 时间:2024/05/22 17:35
服务端新建管道,等待客户端连接;客户端连接后,服务端向管道写入"I am the true server"的身份信息,客户端从管道读取此信息,来确认已连上目标管道;
然后客户端向管道写入文件名,服务端从管道读取文件名后,打开文件,将读出的内容通过管道传递给客户端,最后由客户端显示。
服务端:
客户端:
这里有几点要注意:
因为服务端等待客户端连接时,会停留在ConnectNamedPipe(hNamedPipe, NULL)处,为了让对话框依然能够与用户进行交互,将创建管道等功能操作置于另一线程中;同样客户端也用了多线程技术。
再就是向管道中写入信息时,因为定义UNICODE后,TCHAR占2bytes;所以向管道写入时,WriteFile的第三个参数(DOWRD nNumberOfBytesToWrite [in] Number of bytes to write to the file. )因由字符串长度乘以 2 。所以在程序中定义了CHARLEN(在UNICODE定义时为2,UNICODE为定义时为1)于字符串长度相乘(刚开始弄时没注意搞了好久好久,人都要疯掉了,题外话)
最后就是从文件中读入内容后,要用MultiByteToWideChar处理下(具体用法参阅别处),不然往EDIT控件中写入后是乱码。
我是新手,刚开始这方面的编程;有程序中有哪里不对的或者不妥的,请大侠帮忙指出来谢谢!
我的第一篇文章,伤人的砖就别拍了。
如果,小概率事件发生了,您要转载,或者使用这些代码,请注明出处:
http://blog.csdn.net/zha_1525515/archive/2009/10/04/4631951.aspx
- 进程间命名管道通信示例
- 进程间通信之命名管道 .net示例
- 进程间通信---命名管道
- 进程间通信---命名管道
- 进程间通信--命名管道
- 进程间通信----命名管道
- 进程间通信命名管道
- 进程间通信-命名管道
- 进程间通信--命名管道
- 进程间通信---命名管道
- 进程间通信-命名管道
- 进程间通信--命名管道
- 进程间通信-命名管道
- 进程间通信--管道、命名管道、FIFO
- 命名管道进程通信
- 使用命名管道实现进程间通信
- 使用命名管道实现进程间通信
- 使用命名管道实现进程间通信
- JCO程序执行的时候需要设置services
- HttpLook简介
- form表单方法示例
- asm source code note 1.5_while循环的实现
- 谈jdbc连接sql server2000数据库
- 进程间命名管道通信示例
- 浅析HTTP协议 (转载)
- GWT-Defining a module: format of module XML files
- 学会高傲的活着
- zoj 2679
- Girls and Boys
- mysql error#1251客户端版本过低
- zoj 2722
- WireShark中截获数据包CheckSum错误原因分析【转帖】