chapter 16 网络编程
3 月,跳不动了?>>> 套接字:通讯端点 什么是套接字? 书上说的端口是数据结构和I/O缓存区”是指硬件端口,网络编程里的端口可以理解为应用程序的ID。 说得形象点,套接字就类似我们人类的门 我们打开门,通过门外面的人可以进来 我们推开门,里面的人也可以出去 同样,外面的数据可以通过socket把它存储在本地机器的缓冲区里等待本地机器接收 本地机器的数据可以通过socket放在缓冲区里等待发送到对方机器上 当我们把门给关上时,就拒绝了和外面世界的交往。 套接字是一种具有之前所说的“通讯端点”概念的计算机网络数据结构。网络化的应用程序在开始任何通 讯之前都必需要创建套接字。就像电话的插口一样,没有它就完全没办法通讯。 套接字有两种,分别是基于文件型的和基于网络型的。 基于文件型的: Unix 套接字是我们要介绍的第一个套接字家族。其“家族名”为AF_UNIX,由于两个进程都运行在同一台 机器上,而且这些套接字是基于文件的。所以,它们的底层结构是由文件系统来支持的。这样做相当有道 理,因为,同一台电脑上,文件系统的确是不同的进程都能访问的。 基于网络型的 它有自己的家族名字:AF_INET,或叫“地址家族:Internet”。 Python 只支持AF_UNIX,AF_NETLINK,和AF_INET 家族。由于我们只关心网络编程,所以在本章的大部分 时候,我们都只用AF_INET。