寻找delphi的通信框架

寻找delphi的通信框架,delphi,frameworks,communication,Delphi,Frameworks,Communication,我正在寻找一个delphi的通信框架,我们知道有这么多其他语言的通信框架,wcf,ecf等等,但我还没有找到一个delphi的,任何人谁知道它可以给我一个想法 我需要一些要求,如下所示: 构建应用程序(服务器或客户端),而不关心如何在两个端点之间进行通信。 假设我们使用邮箱来交换消息,通信似乎是透明的 支持通信协议扩展。 我们经常需要在两个设备之间交换消息,但通信协议不是公共的或通用的,因此我们需要扩展框架,以实现一个完整的接收或发送消息的通信协议 支持异步和同步通信 支持传输协议扩展。 传输

我正在寻找一个delphi的通信框架,我们知道有这么多其他语言的通信框架,wcf,ecf等等,但我还没有找到一个delphi的,任何人谁知道它可以给我一个想法

我需要一些要求,如下所示:

  • 构建应用程序(服务器或客户端),而不关心如何在两个端点之间进行通信。

    假设我们使用邮箱来交换消息,通信似乎是透明的

  • 支持通信协议扩展。

    我们经常需要在两个设备之间交换消息,但通信协议不是公共的或通用的,因此我们需要扩展框架,以实现一个完整的接收或发送消息的通信协议

  • 支持异步和同步通信

  • 支持传输协议扩展。

    传输协议可以通过winsocket、pipes、com、windows消息、mailslot等实现

在客户端应用程序中,我们可以编写如下代码片段:

var
  server: TDelphiCommunicationServer;
  session : ICommunicationSession;
  request, response: IMessage;
begin
  session := server.CreateSession('IP', Port);
  request := TLoginRequest.Create;
  session.SynSendMessage(request);
  session.WaitForMessage(response, INFINITE);
  .......
end;

在上面的代码片段中,TLoginRequest实现了消息接口

看看Indy,它与Delphi一起提供。这是一个成熟的通信框架,在很多应用程序中都得到了应用。

也许是你正在寻找的东西。它是一种类似WCF的通信框架抽象,在这种框架中,您可以改变消息格式、通道类型等。它提供了winsockets、管道和windows消息等功能。

要编写用于我们应用程序的自定义TCP IP客户端和服务器组件,我们使用Francois Piette的Internet组件套件,以及各种项目上的真正瘦客户机SDK(RTC SDK)。其他人使用Indy开发定制的TCP/IP协议客户机/服务器组件


要构建一个可以轻松“远程”的API,您可以使用DCOM(不推荐!)或RemObjects SDK(推荐!)之类的“远程处理工具包”。

DataSnap是Delphi附带的产品,自2009年以来,它被重新设计为类似WCF的产品,与以前的版本相比功能更强


我有一个开源框架(在过去10年中开发),它可以完成您需要的一切,还可以实现线程框架等等。你可以在


干杯,Misha

为Delphi和Free Pascal提供一个高级的面向消息的中间件。它们支持点对点和发布/订阅通信模型,使用Internet Direct(Indy)和Synapse网络库,并支持序列化对象(JSON或XML)的交换。(我是这些库的开发人员)。

我可以附议。RemObjects SDK是与Delphi通信时的理想框架。RemObjects SDK是否包含基本的“客户端”和“服务器”TCPIP组件,您可以从中继承以编写自己的自定义TCPIP协议?我知道远程处理框架。但我很好奇它是否具有与Indy、ICS和RTC-SDK并行的功能。您可以实现自定义协议,该协议在RemObjects SDK中称为“通道”。你也可以看看这里:Indy将是一个很好的选择,因为OP说:“我们经常需要在两台设备之间交换消息,但通信协议不是公共的或通用的”。你也可以试试Francois Piette的ICS套件。它与Indy非常相似,但我发现它使用起来更简单。Indy/ICS更关注TCP/IP堆栈,但我认为Ryan希望在上层(WCF等都是基于HTTP构建的)。+1是一个好问题,但Indy有什么问题?它与Delphi&des捆绑在一起,满足您的需求