我正在编写一个 Com 服务器,并且编写了检测 COM 客户端意外关闭时情况的代码,在这种情况下,我应该在 COM 服务器代码中关闭 COM 服务器。
我怎样才能做到这一点?
UPD:我遇到过 COM 服务器挂起或更正确的情况,我无法从 COM 客户端连接到 COM 服务器,但包含 COM 服务器的应用程序处于活动状态,所以我认为 COM 服务器可以检测到所有旧 COM 客户端已断开连接/关闭/崩溃,应用程序将重新启动,因为没有附加新客户端。
我在 COM 客户端的单独线程中编写了以下代码
while(not we are closing)
{
unknown->QueryInterface(IComServer, &server);
if (server)
return;
}
因此 COM 客户端可以等待服务器真正准备好工作
UPD2:刚刚测试:12 分钟后我的 COM 服务器关闭
COM 定期对客户端执行 ping 操作,以查看它们是否还活着,并从死客户端的接口上运行。所以你的服务器最终会发现的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)