.NET远程处理和Delphi win32

时间:2009-04-27 08:07:23

标签: .net delphi winapi remoting ipc

是否可以(并且可行)在Delphi win32应用程序中使用.NET Remoting接口?

我需要在.NET应用程序和Delphi win32应用程序之间进行通信,因此.NET远程处理对于管道的另一端来说是原生的。

任何其他解决方案,尽可能接近原生,没有第三方库的两端?应用程序将在单独的Windows计算机上运行。

5 个答案:

答案 0 :(得分:8)

因为它们在不同的计算机上运行,​​所以应该使用网络通信。 SOAP是一种通用的通信格式,可以很容易地为.Net和Delphi win32制作。但SOAP = XML =慢。

对于我的公司,我们使用RemObjects SDK远程处理框架: http://www.remobjectssdk.com/

很容易创建一个接口,为.Net / Delphi / Php / c ++ /生成代码,也支持SOAP,但我们使用二进制格式来提高速度(!)。

答案 1 :(得分:2)

Delphi win23和.Net都对COM对象有很好的支持。这是一个值得一试的选项。

答案 2 :(得分:2)

使用来自非.NET Delphi exe的远程处理将非常痛苦。如果不知道.NET应用程序正在运行,那么COM互操作将是最简单的答案,因为有COM激活的过程等。事实上有不同的机器使事情变得复杂,但DCOM存在并起作用(我没有'但是,用.NET和Delphi端点测试它。

如果知道.NET应用 正在运行(可能作为服务),您可以考虑一系列备选方案:

  • 插座
  • http(也许POX over http,在.NET服务器上使用HttpListener
  • SOAP(可能在.NET端通过ServiceHost使用WCF)
  • 基于文件(可能是网络共享)

答案 3 :(得分:1)

我通过解决方案找到了有关此主题的最新文章: http://www.codeproject.com/Articles/852750/NET-and-Delphi-Inter-Process-Communication-via-Nam

答案 4 :(得分:0)

到目前为止,与任何平台进行通信的最佳方式是通过套接字。 现在如果它是内部的,我更喜欢PIPES或MAPPED Memory。