如何使用参数启动 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
事件处理程序可以使用 TIdSync
或 TThread.Synchronize()
从主线程检索最新数据,然后将其缓存在上下文中以供 OnExecute
使用。
我正在使用 Indy 10(来自 Delphi 2009)构建一个 TCP 服务器。在 OnExecute 事件中,我需要从主线程访问一些数据。启动时可以将该数据传递给服务器线程吗?服务器以 [=10=] 启动,所以我不知道如何传递一些参数。
无法将额外参数传递给 TIdTCPServer
。您的服务器事件处理程序必须在需要时从主线程检索数据。
要跨事件跟踪每个连接的数据,您可以使用 TIdContext.Data
属性,或从 TIdServerContext
派生自定义 class 并将其分配给TIdTCPServer.ContextClass
属性。例如,您的 OnConnect
事件处理程序可以使用 TIdSync
或 TThread.Synchronize()
从主线程检索最新数据,然后将其缓存在上下文中以供 OnExecute
使用。