什么是文件描述符/ connection/socket/ip?

sam*_*mol 5 ip tcp file-descriptor

这是一个广泛的问题:

文件描述符,连接,套接字,ip如何相互关联?

文件描述符只是一个文本文件吗?所以当我连接到服务器时,它是否意味着服务器和我的计算机基本上创建了一个文件描述符,我们通过写入文件进行通信?

为什么服务器有文件描述符限制?当服务器打开太多连接时,它可能会失败并显示错误:打开的文件太多.是因为每次连接服务器都会打开一个新的文本文件吗?

gpe*_*che 11

IP地址是标识网络中机器的"数字".因此,您可以说"将此数据发送到IP xxxx",并且网络知道哪一个是目标计算机.有几种方法可以为机器分配IP地址.

连接是两台机器之间的概念链接.这是概念性的,因为机器不必直接连接到彼此或任何东西:它们是"通过网络"链接的.

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

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

文件描述符是一个元素(通常是一个数字),它允许程序员识别数据的"流":磁盘上的文件,套接字,管道,命名管道......基本上你可以按顺序读取/写入字节.他们被称为文件,因为最初他们只认文件描述符.