1

我正在尝试使用 WT 构建一个应用程序,该应用程序一方面必须通过套接字与其他软件通信,另一方面通知每个打开的会话(WApplications)。

问题是,我可以让它工作,使用 WSocketNotifier 来通知 socked 但 WSocketNotifier 链接到特定会话的新事件。在它的构造函数中:

sessionId_(WApplication::instance()->sessionId()),

这是一个问题,因为我只有一个套接字,而不是每个会话一个。所以我觉得 WSocketNotifier 应该附加到一些更通用的实体,而不是链接到特定的会话。有没有办法做到这一点?

我现在看到但不是很优雅的唯一解决方案是拥有一个静态 WSocketNotifier 并在会话结束时替换它......

4

2 回答 2

0

在您的 main() 中,创建一个处理来自您的套接字的数据的线程。使用选择,阻塞读取,...然后使用 WServer::post() 通知您的会话数据到达您的套接字。

于 2011-07-13T20:52:25.460 回答
0

我对 WT 一无所知,但是您能否创建一个“虚拟”会话只是为了处理套接字通知,并从 tehre 转发到真正的会话?或者滚动您自己的会话可以订阅的通知器?

于 2011-06-21T17:03:59.290 回答