我正在为一个项目使用indy的http服务器,所以我有几个问题:
- 如果在单独的线程上连接,事件OnConnect是否会被执行?
- 能否从事件OnConnect中更新VCL?
- 如果将MaxNumberConnections设置为0,它到底意味着什么?
谢谢。
1. OnConnect事件是否在单独的线程中执行?
是的,即使您在单独的线程中运行,该事件将像其他事件一样被触发。您需要回答的问题是为什么要这样做。 TIdTCPServer
已经使用了多线程,因此可以在主线程上下文(在窗体上)中使用。
2. 我能从OnConnect事件中更新VCL吗?
是的,但您必须使用一些GUI同步实践,例如Synchronize
方法或者从分离的工作线程向主线程发送消息。
3. 如果MaxNumberConnections设置为0,这意味着什么?
将0赋值给MaxConnections
的值表示一次没有连接的限制。