寻找delphi的通信框架

时间:2010-05-25 14:06:46

标签: delphi frameworks communication

我正在为delphi寻找一个通信框架,我们知道有很多其他语言的通信框架,wcf,ecf等等,但是到目前为止,我已经找到了delphi的那个,任何了解它的人都可以给我一个思想?

我需要一些要求,如下:

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

    想象一下,我们使用邮箱来交换消息,似乎通信是透明的。

  • 支持扩展通信协议。

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

  • 支持异步和同步通信

  • 支持传输协议扩展。

    传输协议可以通过winsocket,pipes,com,windows message,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实现了消息接口。

6 个答案:

答案 0 :(得分:14)

也许RemObjects SDK是您正在寻找的东西。它是一个WCF,就像一个通信框架的抽象,你可以在其中改变消息格式,频道类型等等。它随时可以使用诸如winsockets,管道和窗口消息之类的different channels

答案 1 :(得分:4)

看看Delphi附带的Indy。它是一个成熟的通信框架,可以在很多应用程序中使用。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

http://edn.embarcadero.com/article/38682

答案 4 :(得分:0)

我有一个开源框架(在过去10年中开发),它可以完成您所需的一切以及实现线程框架等等。您可以在http://www.csinnovations.com/framework_delphi.htm找到它。

干杯,Misha

答案 5 :(得分:0)

对于Delphi和Free Pascal的高级面向消息的中间件 Habari Client libraries可以是一个选项。它们支持对等和发布/订阅通信模型,与Internet Direct(Indy)和Synapse网络库一起工作,并支持序列化对象(JSON或XML)的交换。 (我是这些图书馆的开发者)。