c++ - Win32 命名管道和远程客户端

标签 c++ windows winapi pipe named-pipes

在给定计算机 A 的 IP 地址的情况下,我可以从计算机 B 访问计算机 A 上的命名管道吗?如果是这样,我需要做什么才能实现这一点?

最佳答案

是的,您可以通过命名管道通过网络进行通信。您可以像 UNC 路径一样指定管道名称:

\\computername\pipe\pipename

或通过IP

\\192.168.0.100\pipe\pipename

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

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

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

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

关于c++ - Win32 命名管道和远程客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719353/

相关文章:

c++ - OpenGL 索引数组

windows - 为什么这个 FOR 命令不删除除我想保留的文件以外的所有文件?

c++ - 检测 C++/Win32 中的进程崩溃

winapi - 确定哪个打印机名称对应于哪个设备 ID

c++ - 如何记住监控应用程序所在的位置?

c++ - 如何限制在 VS 设计器中创建的编辑框中的数字

c++ - Boost 引用变体和相等性比较

c++ - 如何在 Boost 枚举中使用 switch 语句

c++ - 创建邻接表时出现段错误

c++ - Windows 驱动程序 IOCTL 代码蓝屏/使计算机崩溃