我正在学习Unix中的网络编程,并且目前正在尝试了解套接字和文件描述符的概念。据我了解,文件描述符只是指针数组(文件描述符表?)中的一个位置,这些指针指向内存中某个文件。
套接字描述符是否与文件描述符共享此数组,但是指针却指向套接字。还是还有其他仅用于套接字的东西?
这个数组对每个应用程序/进程都是唯一的吗?
最佳答案
是的,套接字也是文件所在表的索引。至少对于UNIX系统(例如Linux和OSX),Windows是不同的,这就是为什么您不能使用例如read
和write
来接收和发送数据。
每个进程都有自己的"file"描述符表。
关于sockets - 套接字和文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378035/