如何使用参数启动 Indy TCP Server?

How to start Indy TCP Server with parameters?

我正在使用 Indy 10(来自 Delphi 2009)构建一个 TCP 服务器。在 OnExecute 事件中,我需要从主线程访问一些数据。启动时可以将该数据传递给服务器线程吗?服务器以 [​​=10=] 启动,所以我不知道如何传递一些参数。

无法将额外参数传递给 TIdTCPServer。您的服务器事件处理程序必须在需要时从主线程检索数据。

要跨事件跟踪每个连接的数据,您可以使用 TIdContext.Data 属性,或从 TIdServerContext 派生自定义 class 并将其分配给TIdTCPServer.ContextClass 属性。例如,您的 OnConnect 事件处理程序可以使用 TIdSyncTThread.Synchronize() 从主线程检索最新数据,然后将其缓存在上下文中以供 OnExecute 使用。