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

时间:2015-06-06 11:06:26

标签: c++ sockets ssl openssl

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

int fd = SSL_get_fd(...);

在许多教程(hereherehere)中,使用了以下内容:

int sd = socket(...);

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

由于

2 个答案:

答案 0 :(得分:11)

SSL_get_fd

  

SSL_get_fd()返回文件描述符

File Descriptor

  

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

wfdrfd代表write-FD和read-FD。 sd不是标准的名字对象,但它可能代表'套接字文件描述符',即。对应于套接字的FD。来自同一SSL_get_fd页:

  

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

答案 1 :(得分:3)

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