在 VisualBasic.NET 中使用命名管道进行进程间通信(vb.net lin49940修改和添加见解)

前端之家收集整理的这篇文章主要介绍了在 VisualBasic.NET 中使用命名管道进行进程间通信(vb.net lin49940修改和添加见解)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

机器译文: http://support.microsoft.com/kb/871044

英文原文: http://support.microsoft.com/kb/871044/en-us/

这个篇文章内容详细,特别是操作部分,内容也简单易懂.

一. 概要
本文讨论如何在 MicrosoftVisualBasic.NET 或 Microsoft Visual Basic 2005 中使用命名管道进行进程间通信。 本文包含代码示例通过在 VisualBasic.NET 或 Visual Basic 2005 中使用命名管道, 说明客户 / 服务器通信。 本文介绍进程间通信来创建命名管道服务器和命名管道客户。 通过管道通信通过以下方式执行:
  • 通过 CreateNamedPipe 函数创建命名管道。
  • 通过使用 ConnectNamedPipe 函数阻塞服务器应用程序直到有客户端连接。
  • 客户端通过使用 CallNamedPipe 函数连接到服务器。
  • 调用 ReadFile 函数或 WriteFile 函数,实现在管道上的通信。
  • 当线程结束使用管道后,调用 DisconnectNamedPipe 函数关闭与客户端的连接。
  • 当你完成在管道上的通信后,调用 CloseHandle 函数来销毁该命名管道。

二. 介绍

命名管道是单向或双面管道管道服务器和一个或多个管道客户之间进行通信。 您可以命名管道用户能够提供同一计算机上进程之间或通过网络不同计算机上进程之间通讯。 术语 " 命名管道服务器 " 指向过程创建命名管道和术语 " 命名管道客户 " 指到一个进程, 连接到的命名管道实例。

您可使用 Microsoft Visual Basic .NET 或 Microsoft Visual Basic 2005 来创建应用程序通过命名管道, 与其他进程。 本文包含一个代码示例使用命名管道来两 VisualBasic.NET 或 2005 VisualBasicWindows 应用程序之间通信。

三. 要求

本文假定您已熟悉以下主题

  • Windows 应用程序
  • VisualBasic.NET 编程
  • 使用管道

以下列表概括了推荐硬件、 软件、 网络结构,以及 ServicePack, 您需要:

  • MicrosoftVisualStudio.NET 或 Microsoft Visual Studio 2005
  • Microsoft.NET 框架

四. 创建命名管道服务器

创建命名管道服务器,并通过管道,然后与客户通信请按照下列步骤:

  1. 通过 CreateNamedPipe 函数创建命名管道。
  2. 通过使用 ConnectNamedPipe 函数阻塞服务器应用程序直到有客户端连接。
  3. 客户端通过使用 CallNamedPipe 函数连接到服务器。
  4. 调用 ReadFile 函数WriteFile 函数,实现在管道上的通信。
  5. 当线程结束使用管道后,调用 DisconnectNamedPipe 函数关闭与客户端的连接。
  6. 当你完成在管道上的通信后,调用 CloseHandle 函数来销毁该命名管道。

4.1 Windows 应用程序, 创建命名管道服务器

要设计 Windows 应用程序, 通过使用 VisualBasic.NET 或 Visual Basic 2005,创建命名管道服务器请按照下列步骤操作:

  1. 启动 MicrosoftVisualStudio.NET 或 Microsoft Visual Studio 2005。
  2. "文件" 菜单,指向 "新建",然后单击 "项目"
  3. "ProjectTypes(项目类型)" 窗口下单击 "VisualBasic" 项目,并单击 "模板""WindowsApplication(Windows 应用程序)"
    注意 对于 Visual Studio 2005,单击 项目类型 VisualBasic
  4. "名称" 框中,键入 "MyServerApp" 然后单击 "确定" 。 默认情况下,名为 Form 1 窗体创建。
  5. 向窗体 Form 1 添加三个 Button 控件。
  6. 在 视图 菜单上,单击 属性窗口 。
  7. 将 Text 属性的 Button 控件为下列值:
    收起该表格 展开该表格
    名称 文本
    Button 1 创建命名管道
    Button 2 等待客户连接
    Button3 断开服务器
  8. 向窗体 Form 1 添加一个 Label 控件。 Label 1 Label 控件被添加到窗体 Form 1。

4.2 将所有声明添加到 Windows 应用程序中的模块

为了使用命名管道实现进程间的通信,添加的这些函数声明都是必要的,请按照下列步骤:

  1. "SolutionExplorer(解决方案资源管理器)" 中,右击 "MyServerApp" , 指向 "添加",再点击 "模块"
  2. "AddNewSolutionItem(添加新项)- MyServerApp" 对话框中,单击"添加"
  3. 把以下代码添加到 Module 1 模块中: