你一直听到人家在讲"sockets"(套接字),你可能 也想知道这些是什么东西。

好的,其实它们是:利用标准 UNIX file descriptors(文件描述符)与其它程序沟通的一种方式。

OK,你可能有听过有些黑客(hacker)说过:"我的天呀!在 UNIX 系统中的任何东西都可以视为文件!"

他说的是事实。当 UNIX 程序要做任何类型的 I/O 时,它们会读写 file descriptor。File descriptor 单纯只是跟已开启文件有关的整数。只是[关键在于],该文件可以是一个网路连接丶FIFO丶pipe(管道)丶terminal(终端)丶真实的磁盘文件丶或只是相关的东西。在 UNIX 所见都是文件!所以当你想要透过 Internet(互联网)跟其它的程序沟通时,你需要透过一个 file descriptor 来达成,这点你一定要相信。

接下来呢?

在这里我们只讨论第一种:Internet Sockets。