【发布时间】:2012-03-20 22:40:18
【问题描述】:
我正在为一个项目使用 indy 的 http 服务器,所以我有几个问题:
- 即使在单独的线程上连接,是否也会执行 OnConnect 事件?
- 我可以从事件 OnConnect 更新 vcl
- 如果 MaxNumberConnections 是 设置为 0 到底是什么意思?
谢谢。
【问题讨论】:
我正在为一个项目使用 indy 的 http 服务器,所以我有几个问题:
谢谢。
【问题讨论】:
1. OnConnect 事件是否在单独的线程中执行?
是的,即使您在单独的线程中运行,该事件也会像其他事件一样被触发。仍有待您回答的问题是为什么。 TIdTCPServer 已经使用多线程,因此
它可以在主线程上下文中使用(在表单上)。
2.我可以从 OnConnect 事件中更新 VCL 吗?
是的,但是您将不得不使用一些 GUI 同步实践,例如 Synchronize 方法或 e.g.消息从分离的工作线程发布到您的主线程。
3.如果 MaxNumberConnections 设置为 0 究竟意味着什么?
分配给MaxConnections 的零值表示一次没有连接限制。
【讨论】: