我有两个应用程序需要在同一系统上相互通信。
我一直在使用非常奇怪的做法,即在两个应用程序之间打开 TCP COM 通道进行通信。
无论如何,这种做法是否令人不悦?有没有其他选择(除了使用stdio,由于其他原因不可能)。
是否对最大传输速率和/或所涉及的任何延迟有限制(与管道 stdio 相比)?
我正在为服务器和客户端使用本地(127.0.0.1)地址,连接是否可以保证保持在本地计算机本身内,或者它是否可以在返回到自身之前中继最近的路由器并且网卡是否会影响连接的属性呢?
我有两个应用程序需要在同一系统上相互通信。
我一直在使用非常奇怪的做法,即在两个应用程序之间打开 TCP COM 通道进行通信。
无论如何,这种做法是否令人不悦?有没有其他选择(除了使用stdio,由于其他原因不可能)。
是否对最大传输速率和/或所涉及的任何延迟有限制(与管道 stdio 相比)?
我正在为服务器和客户端使用本地(127.0.0.1)地址,连接是否可以保证保持在本地计算机本身内,或者它是否可以在返回到自身之前中继最近的路由器并且网卡是否会影响连接的属性呢?
不久前,我使用 Java 开发了一个系统。我正在寻找同样的问题。我没有太多经验。但我最终使用 tcp 连接进行通信,具有以下优点:
1)如果需要,将来可以将不同的应用程序放在不同的服务器中。2) 应用程序是完全独立的。一个应用程序可能会崩溃而不会影响另一个应用程序。如果工作应用程序尝试连接它会出现错误,您可以处理它。
我看到这在许多其他类型的应用程序中使用。所以我选择了它,它工作正常。但是您必须小心处理网络错误和 IO 错误,并在完成连接后关闭所有打开的套接字。我只是从客户端关闭套接字,所以我最终在服务器中有许多 CLOSE_WAIT 端口。
问候,
使用 TCP 进行应用程序间通信是很常见的。
性能应该不是问题。 用于 Windows 和 Linux 的同一台机器上的套接字
您应该考虑安全性。如果机器上的另一个用户连接到端口会发生什么,应用程序将如何进行身份验证等。