开发者

Looking for a communication framework for delphi [closed]

开发者 https://www.devze.com 2022-12-31 19:11 出处:网络
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 7 years ago.

Improve this question

I am looking for a communication framework for delphi, we know there are so many communication frameworks for other languages , wcf, ecf and so forth, but i have nerver found the one for delphi till now , anybody who knows about it can give me an ider?

There are some requirements i need ,as follows:

  • Building an application(server or client) without caring how to do communications with each other between two endpoints.

    Imagine that we use mailbox for exchanging messages,it seems that the communication is transparent.

  • Supports communication protocol extending.

    We often need to exchange the messages between 2 devices, but the communication protocol is not a public or general one, so we need to extend the framework,to implement a communication protocol for receiving or sending a message completely.

  • Supports asynchronous and synchronous communication

  • Supports transmission protocol extending.

    The tran开发者_Go百科smission protocol can implemented by winsocket, pipes, com, windows message, mailslot and so forth.

In client application, we can write code snips like follows:

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;

In above code snips , TLoginRequest has implemented the message interface.


Maybe RemObjects SDK is something you are looking for. It is a WCF like abstraction for a communication framework in which you can vary things like the message format, type of channels, etc. It comes ready with different channels like winsockets, pipes and windows messages.


Take a look at Indy, which comes with Delphi. It's a mature communications framework that gets used in a lot of apps.


To write custom TCP IP client and server components for use in our applications, we are using the Internet Component Suite by Francois Piette, and the Real Thin Client SDK (RTC SDK) on various projects. Others use Indy to develop custom TCP/IP protocol client/server components.

To build an API that can then be "remoted" easily, you can use DCOM (not recommended!) or one of the "remoting toolkits" like the RemObjects SDK (recommended!).


DataSnap is something shipped with Delphi, and since 2009 it has been redesigned to be WCF alike and much more powerful compared to its previous versions,

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


I have an open source framework (developed over the last 10 years) that does everything you need as well as implementing a threading framework and much more. You can find it at http://www.csinnovations.com/framework_delphi.htm.

Cheers, Misha


For a high level message oriented middleware Habari Client libraries for Delphi and Free Pascal could be an option. They support peer to peer and publish / subscribe communcation models, work with Internet Direct (Indy) and Synapse network libraries, and support exchange of serialized objects (JSON or XML). (I am the developer of these libraries).

0

精彩评论

暂无评论...
验证码 换一张
取 消