winapi – 套接字与Windows上本地IPC的命名管道?

前端之家收集整理的这篇文章主要介绍了winapi – 套接字与Windows上本地IPC的命名管道?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有任何理由支持本地IPC(使用win-api),有效性wize,resource-wize或其他方式的套接字的命名管道,因为它们的行为非常相似(并且可能由类似的接口进行抽象)在一个可能已经使用套接字用于网络目的的应用程序?

我至少可以命名寻址问题:套接字的端口号与管道的文件名。另外,命名管道(AFAIK)不会警告防火墙(块/解除阻塞对话框),尽管被阻止的应用程序仍然可以通过套接字本地进行通信。还有什么要考虑的?

在使用套接字的情况下,在本地使用套接字时是否有建议使用的winsock设置/标志?

一些微妙的区别:

如果您没有正常的适配器,则套接字将不适用于本地IPC。 PC没有功能的适配器有多常见?那么当有人试图向笔记型电脑上的一个客户展示我们的软件时,我没有插入网络或电源(因此操作系统禁用网卡以节省电力),而且无线适配器已被禁用(因为笔记本电脑用户没有使用无线)。您可以通过安装一个环回适配器来解决这个问题,但这并不理想。

防火墙软件可能会导致建立TCP / IP连接的问题。这不是本地IPC的问题,但我不相信。 Named pipes can have firewalls too.

由于创建命名管道所需的特权或创建命名管道的新实例,您可能会遇到问题。例如,我使用相同的命名管道运行多个服务器(可能不是一个好主意,但这是测试),而在CreateNamedPipe中有一些失败,因为创建管道的第一个服务器以管理员模式运行(因为它是从Visual Studio管理员模式),而其余的则是从具有正常UAC级别的命令行启动的。

虽然鲁本斯提到的文章主要是关于网络上的IPC,但它确实表明“本地命名管道以内核模式运行并且速度非常快”。

猜你在找的Windows相关文章