以下是更多细节:
- 客户端必须保持“持久”连接。 有时,服务器必须通知并向所有连接的客户端发送数据。 - 客户端通过无线空卡从笔记本电脑连接。 因此,网络“掉线”很常见。 - 后端数据库是SqlServer。 - 可以同时连接超过100台计算机。 - 当服务器获得新连接(TCPServer.OnConnect)时,我实例化了自己的对象,其中包含自己的SqlServer数据库连接。 当tcp连接断开时,我释放这些对象(以及相关的数据库连接)。 - 客户端应用程序内置TTimer。 它们定期向服务器发送心跳。 如果它们“断开”/“失去”连接,则在网络恢复后自动建立新连接。
任何人对这里的最佳方法/架构有什么建议吗? 我认为Indy组件会起作用,但同时感觉我在“重复造轮子”以管理连接。