gpt4 book ai didi

sockets - 为什么我们不能使用进程 ID 而不是使用我们绑定(bind)的端口

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

为什么我们不能使用进程 ID 而不是获取我们在套接字编程中绑定(bind)的端口。在套接字编程中,我们创建套接字并获取套接字描述符,然后绑定(bind)到特定端口。对于多个连接,为什么我们不使用进程 ID,因为所有连接也是一个返回进程 ID 的进程?

最佳答案

这是一个有趣的想法,但我认为它会引发一些问题:

  • 您如何知道要连接到哪个进程 ID?
  • 如果您想在同一进程中监听多个“端口”怎么办?您只有一个进程 ID。
  • IPv4 和 IPV6 为端口 ID 分配 16 位,但进程 ID 通常是 32 位(或更大)值,因此它们不适合
  • 有很多程序没有联网功能,也不需要。自动实例化通向它们的网络通信路径是否会成为潜在的安全问题?
  • 您可以做的一个技巧(尤其是使用 UDP 多播或广播)是让多个程序监听同一个端口(通过 SO_REUSEPORT),这样当任何人向该端口发送 UDP 数据包时,所有程序都会收到它。如果程序必须使用它们的(唯一的)进程 ID 号作为端口号,那么这个技巧将很难或不可能实现。

关于sockets - 为什么我们不能使用进程 ID 而不是使用我们绑定(bind)的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258353/

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