- 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(默认) | -复用已有文件描述符,无需手动指定 | -