繁体   English   中英

这是可扩展的命名管道服务器实现吗?

[英]Is this a scaleable named pipe server implementation?

看一下使用MSDN中的重叠I / O命名管道的示例,我想知道它的可伸缩性如何? 如果您启动一打客户机,然后让它们以10x / sec的速度命中服务器,每10个客户机紧接一个,则在休眠一整秒钟之前,似乎最终客户机的某些实例将饿死。

服务器实施: http : //msdn.microsoft.com/zh-cn/library/aa365603%28VS.85%29.aspx

客户端实现(假设调用速度为10x / sec,并且有十几个实例)。 http://msdn.microsoft.com/zh-cn/library/aa365603%28VS.85%29.aspx

该网页指出的事实是:

  • 管道服务器创建固定数量的管道实例。

  • 尽管该示例显示了在不同管道实例上的同时操作,但是通过使用OVERLAPPED结构中的事件对象,它避免了在单个管道实例上的同时操作。 因为同一事件对象用于每个实例的读取,写入和连接操作,所以无法知道哪个操作的完成导致事件被设置为使用同一管道实例进行同时操作的信号状态

您可能可以放心地假设它的扩展性不尽如人意; 毕竟,这是一个API使用示例; 功能演示通常是此类代码最重要的设计约束。

如果您需要12个客户端每秒建立10个连接,那么我个人将使服务器能够处理的不仅仅是12个客户端,以便在服务器准备新客户端连接的这段时间内...个人而言,我会切换使用套接字,但这只是我(我歪斜了,因为我已经完成了许多高性能套接字的工作,并且拥有所有代码)...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM