什么是文件描述符/连接/套接字/IP?

6
这是一个广泛的问题:
文件描述符、连接、套接字和IP之间有什么关系?
文件描述符只是一个文本文件吗?当我连接到服务器时,这是否意味着服务器和我的计算机基本上创建了一个文件描述符,并且我们通过写入文件来进行通信?
为什么服务器有文件描述符限制?当服务器打开太多连接时,它可能会出现错误:打开的文件太多。这是因为每次连接服务器都会打开一个新的文本文件吗?
1个回答

13

IP地址是用于标识网络中一台机器的“数字”。因此,您可以说“将此数据发送到IP x.x.x.x”,网络就会知道哪一个是目标机器。有几种方法可以为机器分配IP地址。

连接是两台机器之间的概念链接。它是概念性的,因为不必要的是机器直接与彼此连接或任何东西:它们是通过网络连接在一起的。

套接字是编程接口,允许程序员管理连接,因此程序员可以:

  • 建立(打开)到另一台机器的新连接
  • 侦听来自其他机器的传入连接
  • 读取通过连接接收的数据
  • 通过连接写入数据
  • 丢弃(关闭)连接

文件描述符是一个元素(通常是数字),允许程序员标识数据“流”:磁盘上的文件、套接字、管道、命名管道...基本上是任何您可以按顺序读/写字节的东西。它们被称为文件描述符,因为最初它们只标识文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接