Python 的网络编程可以使用标准库中的 socket
模块来实现,
以下是 socket
模块中常用的核心方法和功能:
-
创建套接字:
socket()
:创建一个新的套接字。socket.AF_INET
:标识使用 IPv4 地址族。socket.AF_INET6
:标识使用 IPv6 地址族。socket.SOCK_STREAM
:创建基于 TCP 的流式套接字。socket.SOCK_DGRAM
:创建基于 UDP 的数据报套接字。
-
服务器端方法:
bind(address)
:将套接字绑定到指定的地址和端口。listen(backlog)
:开始监听连接请求。accept()
:接受客户端的连接请求,返回一个新的套接字和客户端地址。recv(buffer_size)
:接收客户端发送的数据。sendall(data)
:发送数据给客户端。close()
:关闭套接字。
-
客户端方法:
connect(address)
:与服务器建立连接。sendall(data)
:向服务器发送数据。recv(buffer_size)
:接收服务器发送的数据。close()
:关闭套接字。
-
其他常用功能:
- 设置套接字选项:
setsockopt(level, option, value)
。 - 获取套接字选项:
getsockopt(level, option, buflen)
。 - 设置超时时间:
settimeout(timeout)
。 - 获取套接字地址:
getsockname()
和getpeername()
。
- 设置套接字选项: