【问题标题】:How does communication occur in java through TCP sockets on the same machinejava中如何通过同一台机器上的TCP套接字进行通信
【发布时间】:2011-02-16 15:02:08
【问题描述】:

我有两台用 Java 编写的服务器,它们通过套接字和 TCP 进行通信。这两个服务器都在同一台 Linux 机器上。如果服务器位于不同的机器上,那么数据将不得不通过网络适配器和网络电缆,但由于服务器位于同一台机器上,操作系统实际上如何有效地将数据从一台服务器移动到另一台服务器。

【问题讨论】:

    标签: operating-system tcp


    【解决方案1】:

    一般情况下,消息将通过loopback interface:

    在 TCP/IP 中,环回设备是仅在软件中实现的虚拟网络接口,不连接到任何硬件,而是完全集成到计算机系统的内部网络基础架构中。计算机程序发送到环回接口的任何流量都会立即在同一接口上接收。

    但是,您可以设法配置您的情况,例如,通过外部 IP 地址引用服务器,以便消息在被路由回同一台计算机之前实际通过网络发送出去。

    【讨论】:

    • @richs,不是真的。它确实必须通过 TCP/IP 堆栈,这会带来一些成本。但这都是软件;没有硬件瓶颈。
    【解决方案2】:

    如果两个程序在同一台机器上使用 TCP/IP 进行通信,它们很可能是通过loopback interface 连接的

    【讨论】:

      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多