创建命名管道示例
来源:互联网 发布:招聘新媒体美工的要求 编辑:程序博客网 时间:2024/06/05 11:00
进行间可以通过剪贴板,匿名管道,命名管道或邮槽进行通信。命名管道服务器的创建:首先创建命名管道句柄(格式:\\<SERVERADDRESS>\PIPE\<PIPENAME>),然后连接命名管道(如果使用重叠对象,ConnectNamedPipe函数调用完成之后立即返回),接着等待客户端连接(当客户端连接服务器成功后,系统将会设置重叠对象中的事件对象为有信号),最后通过WriteFile或ReadFile进行命名管道读或写操作与客户端通信。命名管道客户端的创建:首先等待命名管道(连接成功之后方可进行下一步操作),接着调用CreateFile创建命名管道句柄,最后通过WriteFile或ReadFile进行命名管道读或写操作与服务器通信。
//////////////////////////////////////////////////////////////////////////// Np : NamedPipe//////////////////////////////////////////////////////////////////////////#include <windows.h>HANDLE g_hNpServer = INVALID_HANDLE_VALUE;HANDLE g_hNpClient = INVALID_HANDLE_VALUE;static LPCTSTR g_szNpName = _T("\\\\.\\PIPE\\Server"); // 命名管道名称/// <summary>创建命名管道服务端</summary>/// <return>是否创建成功</return>BOOL CreateNpServer(){ g_hNpServer = CreateNamedPipe(g_szNpName, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, 0, 1, 1024, 1024, NMPWAIT_WAIT_FOREVER, NULL); OVERLAPPED overlapped; memset(&overlapped, 0, sizeof(OVERLAPPED)); overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); ConnectNamedPipe(g_hNpServer, &overlapped); WaitForSingleObject(overlapped.hEvent, INFINITE); return TRUE;}/// <summary>创建命名管道客户端</summary>/// <return>是否创建成功</return>BOOL CreateNpClient(){ WaitNamedPipe(g_szNpName, NMPWAIT_WAIT_FOREVER); g_hNpClient = CreateFile(g_szNpName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); return TRUE;}
- 创建命名管道示例
- 命名管道的创建
- 管道创建示例程序
- 命名管道创建和读写
- 命名管道创建和读写
- 进程间命名管道通信示例
- 命名管道的创建与使用
- 命名管道的创建和使用
- 进程间通信之命名管道 .net示例
- 命名管道客户端及服务器端简单代码示例
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 单例模式与多线程
- HLR、SCP等纯信令网元与Server如何连接?
- 在MFC中,想要实现当鼠标移动到某个标签中的时候鼠标变成超链接时候的“手”状
- 使用autotools建立Makefile简单实例解析
- R语言,一些数据操作
- 创建命名管道示例
- 给你一个详细的VLAN文档
- 简单使用ssh密钥认证
- 单例模式的自动析构
- ARM 编译连接原理入门
- HttpWebRequest The remote server returned an error: (407) Proxy Authentication
- 数据库中插入字符串
- mfc添加非通用控件
- java读取excel文件(使用jxl)