Win32命名管道和远程客户端

10 c++ windows winapi pipe named-pipes

我可以从计算机B访问计算机A的命名管道给定计算机A的IP地址吗?如果是这样,我需要做些什么来实现这一目标?

Bri*_*ndy 11

是的,您可以通过命名管道在网络上进行通信.您指定管道名称,如UNC路径:

\\computername\pipe\pipename

或通过IP

\\192.168.0.100\pipe\pipename

您可以为任何LAN计算机或通过VPN连接到LAN的任何远程计算机执行此操作.

您使用所有相同的管道Win32 API函数,如CreateFile.要创建管道,请使用CreateNamedPipe.

在使用远程管道之前,必须具有与远程计算机的有效连接.为此,您将使用类似WNetUseConnection的API .或者,如果您的计算机位于同一个域中,或者具有相同的u/p,则根本不需要使用WNetUseConnection.

如果您将程序作为服务运行,则无法使用本地系统帐户访问LAN资源.该服务必须配置另一个帐户.


aJ.*_*aJ. 3

命名管道可用于在网络上不同计算机上的进程之间提供 IPC。请参阅MSDN

如果您使用的是 Windows XP SP2、Windows Server 2003 SP1 及更高版本,请不要忘记启用命名管道过滤。请参阅此处