sockets - 套接字和文件描述符

标签 sockets file-descriptor

我正在学习Unix中的网络编程,并且目前正在尝试了解套接字和文件描述符的概念。据我了解,文件描述符只是指针数组(文件描述符表?)中的一个位置,这些指针指向内存中某个文件。

套接字描述符是否与文件描述符共享此数组,但是指针却指向套接字。还是还有其他仅用于套接字的东西?

这个数组对每个应用程序/进程都是唯一的吗?

最佳答案

是的,套接字也是文件所在表的索引。至少对于UNIX系统(例如Linux和OSX),Windows是不同的,这就是为什么您不能使用例如readwrite来接收和发送数据。

每个进程都有自己的"file"描述符表。

关于sockets - 套接字和文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378035/

相关文章:

c - 如何从用户 ID 中检索用户名

python - 关闭的文件描述符是怎么回事?

c# - Windows Phone 7 和套接字 : What am I doing wrong?

ruby-on-rails - 连接到Docker中的mongoDB套接字

java - 迷人且引人入胜的 Java 套接字多线程 fandango

c - C 中的 read 函数不会终止

创建没有文件句柄的 GNU C 文件描述符

java - 局域网内的外部主机无响应

Java Socket问题,缓冲区同时接收两个数据包。

c - Linux 读取 strace 记录的系统调用 - 如何理解指向缓冲区值的指针?