socket编程

在 UNIX/Linux 系统中不同的硬件设备都被看成一个文件。对硬件的操作,等同于对磁盘上普通文件的操作。

一切都是文件!

为了表示和区分已经打开的文件,UNIX/Linux 会给每个文件分配一个 ID,这个 ID 就是一个整数,被称为文件描述符(File Descriptor)。例如:通常用 0 来表示标准输入文件(stdin),它对应的硬件设备就是键盘;通常用 1 来表示标准输出文件(stdout),它对应的硬件设备就是显示器。

UNIX/Linux 程序在执行任何形式的 I/O 操作时,都是在读取或者写入一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数,它的背后可能是一个硬盘上的普通文件、FIFO、管道、终端、键盘、显示器,甚至是一个网络连接

网络连接也是一个文件,它也有文件描述符

Socket是提供网络服务的库,socket本意为“插座”,插在插座上,就能获得数据。socket就是计算机用来获得网络数据的工具。

socket在计算机领域翻译为“套接字”。

最后更新于