网络编程学习笔记之命名管道(上)
来源:互联网 发布:简述网络舆情的特点 编辑:程序博客网 时间:2024/04/29 01:26
1,命名管道的命名规范: //server/Pipe/[path]name
2,命名管道的通信模式: 字节模式和消息模式
3,建立一个基本的命名管道服务器: 1) 使用A P I函数C r e a t e N a m e d P i p e,创建一个命名管道实例句柄; 2) 使用A P I函数C o n n e c t N a m e d P i p e,在命名管道实例上监听客户机连接请求; 3) 分别使用R e a d F i l e和Wr i t e F i l e这两个A P I函数,从客户机接收数据,或将数据发给客户机; 4) 使用A P I函数D i s c o n n e c t N a m e d P i p e,关闭命名管道连接; 5) 使用A P I函数C l o s e H a n d l e,关闭命名管道实例句柄。
4,建立一个基本的客户机: 1) 用A P I函数Wa i t N a m e d P i p e,等候一个命名管道实例可供自己使用; 2) 用A P I函数C r e a t e F i l e,建立与命名管道的连接; 3) 用A P I函数Wr i t e F i l e和R e a d F i l e,分别向服务器发送数据,或从中接收数据; 4) 用A P I函数C l o s e H a n d l e,关闭打开的命名管道会话。
5,相关函数参数说明:
HANDLE CreateNamedPipe ( LPCTSTR lpname, 指定命名管道的名字 DWORD dwOpenMode, 指定传输方向,I/O控制, 和安 全模式 DWORD dwPipeMode, 指定管道的读写和等待模式 DWORD nMaxInstances, 指定创建的实例个数DWORD nOutBufferSize, 指定内部输出缓冲区的大小 DWORD nInBufferSize, 指定内部输入缓冲区的大小 DWORD nDefaultTimeout, 指定默认的超时时间 LPSECURITY_ATTRIBUTES lpSecurityAttributes 指定一个安全描述符 );
BOOL ConnectNamedPipe ( HANDLE hNamedPipe, 指定CreateNamedPipe函数返回的命名管道句柄 LPOVERLAPPED lpOverLapped 指定函数工作方式 );
BOOL WaitNamedPipe ( LPCTSTR lpNamedPipeName, 指定企图与其建立连接的命名管道服务器 DWORD nTimeOut 指定指定客户机需要等待一个管道的服务器进程多久的时间,让它在管道上完成一 个待决的C o n n e c t N a m e d P i p e操作 );
HANDLE CreateFile ( LPCTSTR lpFileName, 指定希望打开的命名管道的名字 DWORD dwDesiredAccess, 指定访问模式,访问模式必须兼容于管道当初在服务器上的创建方式 DWORD dwSharedMode, 为0,因为一次只能有一个客户机访问一个管道实例 LPSECURITY_ATTRIBUTES lpSecurityAttributes, 应设为NULL,除非需要子进程继承客户机的句柄 DWORD dwCreationDisposition, 应设为OPEN_ EXISTING,意味着CreateFile函数会 在命名管道不存在的情况下调用失败 DWORD dwFlagsAndAttributes, 设为F I L E _ AT T R I B U T E _ N O R M A L HANDLE hTempleteFile 它对命名管道无效,应设为N U L L );
- 网络编程学习笔记之命名管道(上)
- 【网络编程学习笔记03】进程间通讯-命名管道
- 命名管道学习笔记
- VC网络编程笔记--进程间通信-命名管道
- linux学习笔记-读《Linux编程技术详解》(10)-管道与命名管道
- windows编程之命名管道通信
- UNIX网络编程之管道
- VC的命名管道学习笔记总结
- 剪贴板,匿名管道,命名管道,邮槽学习笔记
- windows学习历程-IPC之命名管道
- UNIX环境高级编程学习之第十五章进程间通信 - 通过有名管道(命名管道)实现进程间通信
- 网络编程之SOCKET编程学习笔记
- linux C学习第二天之应用编程和网络编程笔记(上)
- 《UNIX网络编程 卷2》 笔记: 管道
- Linux系统编程之管道:匿名管道pipe与命名管道fifo
- Linux学习笔记之---管道
- Angular2之管道学习笔记
- UNIX网络编程之管道与FIFO
- 浮点数的相等比较
- string 快速使用,难点解决
- 以业务为中心设计 SOA--要错过 SOA 的最大的优势
- 出租司机给我上的MBA课----超强的(转自http://bbs.csai.cn/bbs/view.Asp?Id={ABBC098D-E4BC-4457-AA26-0C263F1ED196})
- GDI+ for VCL基础 -- 画刷之LinearGradientBrush
- 网络编程学习笔记之命名管道(上)
- 对最近学习JAVA的想法
- POST/GET中文问题终极解决方案
- 在URL中的中文无法在另一个页面上正确赋值
- Mysql与Tomcat配置连接池
- 周五
- Linux中实时进程的调度---Linux内核笔记
- 国际安全标准ISO 15408简介
- UNIX发展历程及Linux