c - 什么是网络套接字的文件描述符?以及如何得到它?

标签 c linux sockets networking file-descriptor

我想知道什么是网络套接字的文件描述符以及如何获取它?我相信这是一个数字?

最佳答案

它确实是一个数字,你可以通过发出 socket(2) 得到它。系统调用。它存储在进程的 task_struct 中,您需要它来发送或接收数据。

更准确地说,内核使用文件描述符来定位存储在 task_struct 内的 files_struct 结构中的 File Objects。它的行为类似于位图,其中文件描述符的编号表示 File Object 在该结构中占据的位置。

关于c - 什么是网络套接字的文件描述符?以及如何得到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946079/

相关文章:

从概念上讲,为什么数组地址不可修改?

c++ - 结构的 Xcode typedef 创建错误/警告

python - Linux/Python 如何以非根用户身份导入根访问 py 模块?

linux - 比较程序集 x86 中的数字和变量

sockets - 如何用 Go 读取 FFMPEG?

c# - FTP监控和新文件下载

c++ - 谁能解释一下下面的代码片段?

c - 当 infix 或 postfix 遇到 "-"符号时,它似乎给了我随机值

android - Android 上 native 线程的可能状态?

c++ - 如何将本地端点绑定(bind)到套接字?