对编程而言,Socket是底层网络接口。简而言之,对IPv4, Socket 就是主机(主机名或者IP地址)加上端口号 (host, port)
,是计算机开发者对传输层协议(TCP/UDP)等的封装实现。
注意: 如果是对IPv6, Socket 就是 (host, port, flowinfo, scope_id)
Python socket API的官方文档参见 socket — Low-level networking interface — Python 3.9.16 documentation,建议感兴趣的读者打开细读。文档开头就提到“The Python interface is a straightforward transliteration of the Unix system call and library interface for sockets to Python’s object-oriented style”, 说明Python 的socket 模块就是根据 C/C++ socket API “直译”,并且按照面向对象风格。
所以以前有过C/C++ socket编程经验的工程师,对Python的socket编程会容易上手。只是需要注意一下 read(), write()被替换成recv()