【问题标题】:About 127.0.0.1 and IPC using sockets关于 127.0.0.1 和 IPC 使用套接字
【发布时间】:2012-03-15 04:35:06
【问题描述】:

我想我会在 127.0.0.1 上使用套接字来为我的应用程序制作简单的 IPC。我的目标是 Windows、Mac 和 Linux。我有几个问题:

  • 防火墙或其他工具能否阻止我在这 3 个操作系统中的任何一个上的连接
  • 连接速度快吗?有人告诉我,在 Linux 上,它使用管道传输数据。
  • 可以嗅探连接吗(编辑:例如可以使用 RawCap 嗅探它。)

【问题讨论】:

    标签: windows unix network-programming ipc


    【解决方案1】:

    127.0.0.1 (localhost) 是环回接口。都是内部的,不会碰到电线。

    防火墙可以阻止吗?不是外部防火墙,但可能是在同一台机器上运行的软件防火墙。

    速度快吗? As fast as it can be.

    可以嗅探连接吗?不是通过外部设备,但可以被同一台机器上运行的软件嗅探。

    【讨论】:

    • 例如可以使用 RawCap 进行嗅探。
    【解决方案2】:

    防火墙确实可以阻止 127.0.0.1,有些防火墙默认会这样做。 至少在 Windows 和 Linux 上,您可以使用内存映射文件(我相信您可以在 Mac 以及基于 BSD 的 Mac 上执行此操作)进行数据传输,并且由于数据缓冲区复制较少,这通常比套接字更快。

    【讨论】:

    • 内存映射文件很棒,但是当发生更改时,您需要一种额外的信号方式。
    • @MarkRansom 当然,但这也不是问题。以这种方式实现的传输很容易击败 localhost 套接字(至少在 Windows 上)。我们有一个产品 MsgConnect 正好提供了这个功能,所以我们进行了测量。
    猜你喜欢
    • 1970-01-01
    • 2014-07-24
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多