gpt4 book ai didi

linux - 套接字 FD 存储在哪里?

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

在 Linux 系统上使用 TCP 编写服务器应用程序时,我遇到了一些问题。我几乎没有疑问。

  1. socket FD 存储在哪里以及与socket FD 关联的属性是什么。
  2. 内核如何区分 FD,如套接字 FD、文件 FDS、消息队列 FD

Socket FD 被接收为

int sockFD = socket(..., ..., ...);

有什么区别
a) 关闭(sockFD);

b) int sockCopy = sockFD;//复制socketfd
关闭(sockCopy);

案例b为什么不会关闭socket?

最佳答案

  1. 套接字文件描述符存储在应用程序中的整数变量中,就像其他文件描述符一样。

  2. 内核通过关联的struct file 中的不同函数指针在内部区分不同的文件描述符类型。

  3. 没有区别; int sockCopy = sockFD; close(sockCopy); 关闭套接字。内核不关心存储文件描述符的变量的名称 - 它只关心数值。

关于linux - 套接字 FD 存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3456503/

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