gpt4 book ai didi

networking - 管道和套接字有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 02:28:41 25 4
gpt4 key购买 nike

我找到了几个答案,但它们似乎专门与 Windows 机器相关。所以我的问题是管道和套接字之间有什么区别,您应该何时/如何选择一个而不是另一个?

最佳答案

what are the differences between pipes and sockets, and when/how should you choose one over the other?

管道和套接字都处理字节流,但它们以不同的方式处理......

  • 管道仅存在于特定主机内,它们指的是虚拟文件之间的缓冲,或连接该主机内进程的输出/输入。管道内没有数据包的概念。
  • 套接字使用 IPv4 或 IPv6 将通信打包;该通信可以扩展到本地主机之外。请注意,套接字的不同端点可以共享相同的 IP 地址;但是,他们必须监听不同的 TCP/UDP 端 Eloquent 能这样做。

用法:

  • 使用管道:
    • 当您想在特定服务器中以文件形式读取/写入数据时。如果您使用的是 C,您可以将 read()write() 写入管道。
    • 当您想将一个进程的输出连接到另一个进程的输入时...请参阅popen()
  • 使用套接字在不同的 IPv4/IPv6 端点之间发送数据。通常,这发生在不同主机之间,但套接字可以在同一主机内使用

顺便说一句,你可以使用netcatsocat将套接字连接到管道。

关于networking - 管道和套接字有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568089/

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