在Delphi中,客户端和服务器之间交换字符串数据的方式是什么?

在Delphi中,客户端和服务器之间交换字符串数据的方式是什么?,delphi,client,Delphi,Client,我在一个内部网中有一个服务器和一些客户端(大约50个)。客户端向服务器发送短(约40个字符)字符串数据,服务器用类似的字符串进行应答。每个客户端每秒最多有2-3个请求(但不是永久性的)。服务器必须序列化请求以获取响应字符串 系统应尽可能减少对网络的影响(即服务器可能已经运行类似Web服务器的东西)。它应该尽可能易于安装和管理 使用Delphi(客户端:D7,服务器至D2010)实现这一点的可能性是什么?印地的TIdTCPServer和TIdTCPClient呢?它们提供命令处理程序,这使得实现基

我在一个内部网中有一个服务器和一些客户端(大约50个)。客户端向服务器发送短(约40个字符)字符串数据,服务器用类似的字符串进行应答。每个客户端每秒最多有2-3个请求(但不是永久性的)。服务器必须序列化请求以获取响应字符串

系统应尽可能减少对网络的影响(即服务器可能已经运行类似Web服务器的东西)。它应该尽可能易于安装和管理


使用Delphi(客户端:D7,服务器至D2010)实现这一点的可能性是什么?

印地的
TIdTCPServer
TIdTCPClient
呢?它们提供命令处理程序,这使得实现基于文本的协议非常简单

有一个问题


最终,我同意Smasher并喜欢使用套接字。它们快速、简单、便于携带。如果您正在处理一个相当简单的协议,并且不需要一个完整的n层解决方案,那么创建一个TCP或HTTP服务器应用程序非常简单,重量非常轻,并且易于与任何客户端兼容。您甚至可以向这些独立应用程序添加SSL支持,而无需配置web服务器或干扰它(如果它已经在同一个机箱上运行)。

我将该库用于这样一个简单的服务器。它闪电般的快,非常轻,而且容易穿线。synapse主安装中的演示Echo是您尝试执行的一个极好的开始。如果您要在每个请求/响应线程内执行数据库访问,那么我强烈建议您查看Cary Jensen提供的示例,以检查您的数据库连接。

TCP,当然可以。但我想投你一票。从未喜欢过印地…

我用它来做这种用途。它处理所有困难的事情,我只要求它连接并进行函数调用以传递数据

SSL是一个有趣的想法,它减少了我的应用程序需要担心的外部需求。我喜欢为服务器安装XCopy,就像我为客户端应用安装XCopy一样。:)考虑到下载页面,Synapse仍然只有实验性的D2009支持。这并没有给IMHO带来太多的信心。ICS和Indy似乎很有可比性。你能解释一下你为什么不喜欢Indy吗?ICS是完全异步的,更适合TCP/IP模式。谢谢大家的建议。