套接字编程,什么是FD和SD

Mar*_*cký 8 c++ sockets ssl openssl

我正在编程一个SSL套接字,很多次我看到了名字中带有FD或SD的东西(变量名,函数......).例如,OpenSSL提供了以下功能:

int fd = SSL_get_fd(...);
Run Code Online (Sandbox Code Playgroud)

在许多教程中(这里,这里这里),使用它:

int sd = socket(...);
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一下,FD和SD代表什么?

谢谢

Rem*_*anu 11

SSL_get_fd:

SSL_get_fd()返回文件描述符

文件描述符:

在Unix和相关计算机操作系统中,文件描述符(FD,较不频繁的fildes)是用于访问文件或其他输入/输出资源(例如管道或网络连接)的抽象指示符.文件描述符是POSIX应用程序编程接口的一部分.文件描述符是非负整数,用C编程语言表示为int类型.

wfd,rfd将代表写FD和读FD.sd不是标准的名字对象,但它可能代表'套接字文件描述符',即.对应于套接字的FD.从同一SSL_get_fd页面:

fd通常是网络连接的套接字文件描述符


Som*_*ude 5

“fd”通常是File Descriptor的缩写。在 Linux、OSX 和 BSD 变体等 POSIX 系统上,文件描述符不仅用于文件,还用于套接字、设备通信和其他东西