gpt4 book ai didi

perl - 在 Perl、套接字或命名管道 (fifos) 中什么更便携?

转载 作者:行者123 更新时间:2023-12-03 11:56:28 24 4
gpt4 key购买 nike

我正在写一些 Perl 代码。我希望它在 Windows 和 Linux/UNIX/OSX 上运行。到目前为止,它适用于 *NIX 并使用 fifos。

我正在考虑切换到套接字以避免 POSIX::mkfifo() 在 Windows 上不起作用的问题,所以我需要编写一些单独的代码来使用 Win32::Pipe。

我对整件事感到矛盾。在我看来,这两个修复都需要大约相同数量的工作。切换到 socket 是个好主意吗?

最佳答案

简短的回答:IO::Socket::INET 适用于 Windows 和 *NIX。

命名管道

  • 更容易快速编码。您不需要编写连接代码。
  • 稍微快一点。套接字具有 TCP 和建立初始连接的开销。
  • 适用于所有平台。
  • 即使网卡不存在也可以使用。一些笔记本电脑会关闭网卡以节省电量,这甚至会阻止本地插​​座工作。

  • socket
  • 适用于所有平台。但是,有些笔记本电脑为了省电而关闭了网卡,如果没有网络接口(interface),甚至本地 socket 也无法工作。
  • 在 Perl 中更便携。 IO::Socket::INET 可以在 *NIX 和 Windows 上运行。
  • 允许您与每个客户进行单独的对话。
  • 防火墙不是问题。超过 1024 的端口应该可以工作。

  • 就个人而言,我决定改用 socket 。在我的应用程序中,这并不重要。但我认为它使代码更简单一些,让我将来可以灵活地移动到 > 1 个客户端,而且我还是想学习 IO::Socket。

    关于perl - 在 Perl、套接字或命名管道 (fifos) 中什么更便携?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485667/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com