Python 的 socket
模块是网络编程的核心,其函数可分为核心套接字操作、套接字选项设置、辅助工具函数三大类。本文将逐一拆解所有函数的语法、参数、用法和实战示例,覆盖从基础到高级的所有场景。
一、模块初始化与核心对象
1. socket.socket():创建套接字对象
语法:
socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)
作用:创建一个套接字对象,是所有网络操作的基础。
参数说明:
| 参数 | 取值 | 说明 |
|---|---|---|
family |
AF_INET(默认) |
IPv4 协议族(最常用) |
AF_INET6 |
IPv6 协议族 | |
AF_UNIX |
Unix 域套接字(本地进程通信) | |
type |
SOCK_STREAM(默认) |
TCP 套接字(面向连接、可靠) |
SOCK_DGRAM |
UDP 套接字(无连接、数据报) | |
SOCK_RAW |
原始套接字(可操作 IP 层,用于抓包) | |
proto |
0(默认) | 协议编号,默认自动匹配 type(TCP=6,UDP=17) |
fileno |
None(默认) | 复用已有文件描述符,无需手动指定 |