我正在编写一个SSL套接字,很多次我看到了名字中带有FD或SD的东西(变量名,函数......)。例如,OpenSSL提供了以下功能:
int fd = SSL_get_fd(...);
在许多教程(here,here和here)中,使用了以下内容:
int sd = socket(...);
任何人都可以解释一下,FD和SD代表什么?
由于
答案 0 :(得分:11)
SSL_get_fd()返回文件描述符
在Unix和相关计算机操作系统中,文件描述符(FD,较不常见的fildes)是用于访问文件或其他输入/输出资源(例如管道或网络连接)的抽象指示符。文件描述符是POSIX应用程序编程接口的一部分。文件描述符是非负整数,用C编程语言表示为int。
wfd
,rfd
代表write-FD和read-FD。 sd
不是标准的名字对象,但它可能代表'套接字文件描述符',即。对应于套接字的FD。来自同一SSL_get_fd
页:
fd通常是网络连接的套接字文件描述符
答案 1 :(得分:3)
“fd”通常是文件描述符的缩写。在Linux,OSX和BSD变体等POSIX系统上,文件描述符不仅用于文件,还用于套接字,设备通信和其他东西