在同一台机器上进行通信的两个应用程序的最佳方式

时间:2010-10-15 09:54:51

标签: php asp.net http communication

我在网络服务器上运行了一个ASP.NET应用程序。第三方在PHP中创建了另一个应用程序,需要将数据发送到我的应用程序进行处理。

最初假设PHP应用程序将部署在其他地方,因此我们同意通过HTTP(通过SSL)在互联网上进行通信。我的应用程序只需使用通用处理程序(ashx)文件来接收数据并发回确认。

现在看来PHP应用程序可能与我的应用程序部署在同一台机器上。我喜欢使用HTTP(而不是直接数据库访问)这一事实,PHP应用程序需要对我的应用程序的工作原理一无所知。但是使用公共互联网对同一台机器上的两个应用程序之间的通信来说似乎很愚蠢。

如果PHP应用程序只使用本地主机地址,这是否会确保所有数据都保留在计算机内?有更好的方法吗?

4 个答案:

答案 0 :(得分:0)

即使PHP应用程序在外部接口上指定了地址,也永远不会使用公共Internet。但如果你想......过于谨慎......那么就使用127.0.0.1。

答案 1 :(得分:0)

  

如果PHP只使用本地主机地址,这会确保所有数据都保留在机器内吗?

  

有更好的方法吗?

对我有意义。这是一种常见的架构选择,如果将来两个应用程序再次部署在不同的机器上,它会更容易。

答案 2 :(得分:0)

是的,如果使用localhost配置TCP连接,则不会向Web发送流量。我们有很多应用程序使用TCP接口与服务进行通信。没有流量会离开服务器。

如果您无法更改PHP应用程序中的地址,您可以考虑添加主机条目并将其重定向到本地计算机。

答案 3 :(得分:0)

如果将它们部署到同一台计算机上,则必须使用主机标头进行设置,以便IIS将流量发送到正确的网站 - 确实他们可以监听不同的端口和没有主机头,但作为公共网站,这不是一个选项。

如果设置了主机标头 - 我很确定它们是 - 你不能使用localhost