我正在编写一些dll(在MSVC ++ 2008中的Windows上),它提供了一些xmlrpc服务器的功能。要实现xmlrpc服务器,我使用的是xmlrpc-c库。
我可以用一些不同的方式启动xmlrpc服务器。更有趣的是:
我无法长时间控制dll。我需要处理一些RPC并将控制权交还给使用dll的程序。当dll再次获得控制权时,处理下一个RPC。
runOnce看起来不错。但是有可能没有RPC可以处理,它将等待一个。这是不可接受的。
还有一个例外:
runOnce中止等待a 连接请求和返回 如果进程收到一个,立即 信号。请注意,除非你有 该信号的处理程序,即信号 可能会杀死整个过程, 所以建立一个信号处理程序 - 甚至一个 什么也不做 - 如果你愿意的话 利用这个。但在Xmlrpc-c 1.06之前 (2006年6月),信号没有影响 - 没有办法让runOnce中止 等待和返回。
我可以使用它作为解决方法go get control to dll吗?是否可以从dll向自己发送信号?它在Windows上如何工作?
或许这个问题有更好的解决方案吗?
答案 0 :(得分:0)
Windows中不存在信号(使Xmlrpc-c库调用提前中止的那种信号)。
最佳解决方案是为服务器创建新线程。