应用程序通常通过“套接字”(socket)向网络发出请求或者应答网络请求,使主机间或者计算机上的进程间可以通信Python。 提供了两种访问网络服务的功能。其中低级别的网络服务通过套接字实现,它提供了标准的 BSD 套接字 API,可以访问底层操作系统套接字接口的全部方法。而高级别的网络服务通过模块 SocketServer 实现,它提供了服务器中心类,可以简化网络服务器的开发。
socket 对象的内置函数和属性。在 Socket 库中,socket 对象提供了表 1 所示的内置函数。
函数 | 功能 |
---|---|
服务器端套接字函数 | |
bind() | 用于绑定地址(host, port)到套接字,在 AF_INET 下,以元组(host, port)的形式表示地址 |
listen() | 用于开始 TCP 监听。backlog 指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为 1,大部分应用程序设为 5 即可 |
accept() | 被动接受TCP客户端连接,(阻塞式)等待连接的到来 |
客户端套接字函数 | |
connect() | 主动初始化 TCP 服务器连接,一般 address 是形式为(hostname, port)的二元组,如果连接出错,则返回socket.error错误 |
connect_ex() | connect() 函数的扩展版本,在出错时返回出错码,而不是抛出异常 |