在c#namedpipes有连接(等待服务器)时进入完全cpu负载循环的可怕特性,在我的情况下,也就是当服务器关闭而离开客户端时。这是我的问题:客户端可以通过事件检测服务器关闭(服务器断开连接)吗? 目前我运行一个计时器,每隔2秒测试一次连接。这可以工作,因为我可以关闭客户端中的连接并处理namedpipeclientstram什么停止高CPU负载。但是,这意味着在最坏的情况下,cpu负载非常高,最长可达2秒。
然而,为了避免任何高CPU负载,我正在搜索一种事件系统来检测客户端中服务器的单向连接关闭。有没有?到目前为止我还没有找到任何东西。
当强制客户端流不寻求重新连接时,也可以 服务器正在关闭(至少看起来这种情况正在发生,因为它在等待服务器时非常类似于CPU状态) 连接是双向的和异步的。
关于命名管道的另一个问题:当服务器启动并准备就绪时,尝试以指定的超时0连接作为客户端是否可以?这是否至少指定了一个试验,如果服务器未启动,立即返回? 或者超时是否至少与网络延迟或服务器响应时间一样高?
请求帮助 斯蒂芬