`
luliangok
  • 浏览: 816686 次
文章分类
社区版块
存档分类
最新评论

Windows 命名管道2

 
阅读更多

Windows 命名管道 - 服务器端


以下代码为DLL库中的单元文件。


服务器代码:

UnmpSrv.pas


首先,CreateNamedPipe函数在API中的定义如下:

HANDLE WINAPI CreateNamedPipe(
  __inLPCTSTR lpName,
  __inDWORD dwOpenMode,
  __inDWORD dwPipeMode,
  __inDWORD nMaxInstances,
  __inDWORD nOutBufferSize,
  __inDWORD nInBufferSize,
  __inDWORD nDefaultTimeOut,
  __in_optLPSECURITY_ATTRIBUTES lpSecurityAttributes
);

参数:

lpName: 管道名称;

dwOpenMode: 打开模式; 有三种模式:双向(server <-> client)、单向1(server <- client)、单向2(server -> client )

dwPipeMode: 管道的数据流模式; 有两种:PIPE_TYPE_BYTE和PIPE_TYPE_MESSAGE。使用字符串多一些的时候建议使用Message模式。

nMaxInstances: 可以连接的客户端数量;范围为1~255。

nOutBufferSize: 缓冲输出大小;

nInBufferSize: 缓冲输入大小;因为使用单向,所以设为0;

nDefaultTimeOut: 超时设定;单位为毫秒。

最后一个参数为可选。设为空。


如果实例值等于0或者无效,则关闭句柄,并返回0;

test命名管道,如果存在,是否存在错误,不存在关闭句柄,并返回0;


返回实例句柄,以供调用。

分享到:
评论

相关推荐

    windows命名管道通信

    Windows命名管道通信是一种在进程间实现数据通信的技术,尤其适用于在同一台计算机上的多个进程之间交换信息。这种通信机制是基于Microsoft Windows操作系统内核提供的服务,它允许一个进程(服务器)创建一个命名...

    windows命名管道

    Windows命名管道是操作系统提供的一种进程间通信(IPC,Inter-Process Communication)机制,它允许不同进程之间进行数据交换。在Windows系统中,命名管道是一种可靠的、半双工(即数据可以单向流动,但可以在两个...

    Windows命名管道技术的分析与实现.pdf

    ### Windows命名管道技术的分析与实现 #### 一、引言 Windows命名管道技术作为进程间通信(IPC)的一种机制,被广泛应用于Windows操作系统中,包括Windows NT和Windows 2000等版本。该技术源于贝尔实验室开发的...

    Windows 命名管道进进程过程调用

    命名管道是Windows IPC机制的一种,它允许不同进程之间进行半双工(即数据只能单向流动)的通信。本文将深入探讨命名管道的工作原理、创建与使用方法,以及如何通过进程过程调用(RPC,Remote Procedure Call)...

    命名管道,命名管道,命名管道

    2. **API调用**:在编程中,创建和使用命名管道通常通过Windows API函数实现,例如`CreateNamedPipe`用于创建管道,`ConnectNamedPipe`用于建立连接,`ReadFile`和`WriteFile`用于读写数据。 3. **安全性**:由于...

    Windows进程通信_命名管道

    命名管道是Windows IPC机制中的一种,它允许不同进程间进行半双工通信,即数据可以在两个方向上传输,但同一时刻只能在一个方向上进行。本示例通过"NamedPipeA.cpp"和"NamedPipeB.cpp"两个源文件,演示了如何创建并...

    windows 命名管道_重叠IO

    在Windows操作系统中,命名管道(Named Pipe)是一种进程间通信(IPC, Inter-Process Communication)机制,它允许不同进程之间交换数据。与匿名管道不同,命名管道可以通过其名称被其他进程找到并使用,使得跨进程...

    2.4 实验四:使用命名管道实现进程通信.doc

    命名管道是Windows系统提供的一种进程通信机制,通过使用命名管道,两个进程可以进行通信。在本实验中,我们将使用命名管道实现两个进程之间的通信,并介绍相关的API和操作步骤。 一、实验目的: 1. 了解 Windows ...

    易语言命名管道用法示例-进程间互相交换信息

    1. 定义管道名称:这是一个字符串,用于标识管道,必须遵循Windows命名规则,例如"\\.\pipe\mypipe"。 2. 使用`创建管道`命令创建管道对象,该命令需要指定管道名称、读写权限(可读、可写或两者皆有)、缓冲区大小...

    进程通讯、命名管道、一对多连接

    "命名管道"是Windows系统提供的一个半双工(Half-Duplex)通信机制,它允许两个进程通过一个管道进行单向通信。命名管道的一个显著特点是其“命名”,这意味着任何知道管道名字的进程都可以连接到这个管道,从而实现...

    命名管道双管道跨进程通信多线程封装

    命名管道是Windows操作系统中一种进程间通信(IPC)机制,它允许不同的进程之间进行数据交换。在本案例中,"命名管道双管道跨进程通信多线程封装"着重讲解了如何利用命名管道来实现跨进程的数据传输,并且考虑到了多...

    npipe:用纯 Go 编写的 Windows 命名管道实现

    管道 包 npipe 提供了一个围绕 Windows 命名管道的纯 Go 包装器。 Windows 命名管道文档: : 请注意,代码位于分支),但应导入为 gopkg.in/natefinch/npipe.v2(包名称仍为 npipe)。 npipe 提供了一个基于 stdlib ...

    VC命名管道程序及资料

    命名管道是Windows操作系统提供的一种进程间通信(IPC)机制,允许不同进程之间交换数据。在VC++编程环境中,我们可以利用Microsoft的C运行时库(CRT)和Windows API来创建和使用命名管道。在这个"VC命名管道程序及...

    命名管道进程通信Windows程序设计

    2. **连接命名管道**:另一端的进程使用ConnectNamedPipe函数尝试连接到已创建的命名管道。如果创建管道时设置了服务器端等待连接,那么这个过程会阻塞,直到有客户端连接。 3. **数据传输**:连接成功后,双方可以...

    C++命名管道详解及简单案例(基于VS2013)

    在Windows操作系统中,命名管道尤其常见,C++编程语言提供了丰富的API来实现这一功能。本教程将详细介绍C++如何利用命名管道进行通信,并提供基于Visual Studio 2013的简单案例。 ### 命名管道基础 命名管道是...

    命名管道实例 命名管道

    命名管道是Windows操作系统中的一种进程间通信(IPC)机制,它允许不同的进程之间进行数据交换。在本实例中,我们将深入探讨命名管道的工作原理、如何创建和使用命名管道,以及在实际开发中的应用。 首先,我们需要...

    命名管道及套接字通信相关资料

    命名管道(Named Pipes)作为一种进程间通信(Inter-Process Communication, IPC)机制,被广泛应用于Windows NT、Windows 2000、Windows 95以及Windows 98等操作系统上。这种通信方式支持在同一台计算机上的不同...

    命名管道通信类

    2. `bool open()`: 打开已存在的命名管道,或者创建一个新的管道。如果管道不存在,创建失败,返回false。 3. `bool close()`: 关闭当前连接的命名管道。 4. `bool write(const void* data, size_t length)`: 向管道...

    vc利用命名管道进行通信namedpipe

    2. **创建命名管道**:在VC++中,可以使用`CreateNamedPipe`函数创建一个命名管道。该函数需要指定管道的名称、管道模式(读写模式)、最大实例数、缓冲区大小等参数。 3. **连接命名管道**:另一进程通过`...

Global site tag (gtag.js) - Google Analytics