python-socket模块介绍
2014-04-17 16:00
260 查看
基本的 Python socket 模块Python 提供了两个基本的 socket 模块。第一个是 Socket,它提供了标准的 BSD Sockets API。第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。Python 使用一种异步的方式来实现这种功能,您可以提供一些插件类来处理服务器中应用程序特有的任务。表 1 列出了本节所涉及的类和模块。表1. Python 类和模块
让我们来看一下这些模块,以便理解它们是如何工作的。
表3. Socket 模块的实例方法
类方法和实例方法之间的区别在于,实例方法需要有一个socket实例(从socket返回)才能执行,而类方法 则不需要。
类/模块 | 说明 |
Socket | 低层网络接口(每个 BSD API) |
SocketServer | 提供简化网络服务器开发的类 |
socket 模块
Socket 模块提供了 UNIX 程序员所熟悉的基本网络服务(也称为 BSD API)。这个模块中提供了在构建 socket 服务器和客户机时所需要的所有功能。这个 API 与标准的 C API 之间的区别在于它是面向对象的。在C中,socket描述符是从socket调用中获得的,然后会作为一个参数传递给BSD API函数。在Python中,socket 方法会向应用socket方法的对象返回一个socket对象。表2给出了几个类方法,表3显示了一部分实例方法。表2. Socket 模块的类方法类方法 | 说明 |
Socket | 低层网络接口(每个 BSD API) |
socket.socket(family, type) | 创建并返回一个新的 socket 对象 |
socket.getfqdn(name) | 将使用点号分隔的 IP 地址字符串转换成一个完整的域名 |
socket.gethostbyname(hostname) | 将主机名解析为一个使用点号分隔的 IP 地址字符串 |
socket.fromfd(fd, family, type) | 从现有的文件描述符创建一个 socket 对象 |
实例方法 | 说明 |
sock.bind( (adrs, port) ) | 将 socket 绑定到一个地址和端口上 |
sock.accept() | 返回一个客户机 socket(带有客户机端的地址信息) |
sock.listen(backlog) | 将 socket 设置成监听模式,能够监听 backlog 外来的连接请求 |
sock.connect( (adrs, port) ) | 将 socket 连接到定义的主机和端口上 |
sock.recv( buflen[, flags] ) | 从 socket 中接收数据,最多 buflen 个字符 |
sock.recvfrom( buflen[, flags] ) | 从 socket 中接收数据,最多 buflen 个字符,同时返回数据来源的远程主机和端口号 |
sock.send( data[, flags] ) | 通过 socket 发送数据 |
sock.sendto( data[, flags], addr ) | 通过 socket 发送数据 |
sock.close() | 关闭 socket |
sock.getsockopt( lvl, optname ) | 获得指定 socket 选项的值 |
sock.setsockopt( lvl, optname, val ) | 设置指定 socket 选项的值 |
相关文章推荐
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- socket(1)
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- SocketServer 网络服务框架
- Python图像处理库(PIL)--Image,ImageDraw等基本模块介绍
- Python学习之socket模块
- Python中的模块介绍和使用
- Python中的getpass模块介绍(登陆程序)
- Python_selenium中类函数模块的简单介绍
- python的sys模块介绍
- Python socket 模块——part one
- Python时间calender模块介绍
- 【转】python的urllib 模块的简单介绍
- Python操作远程服务器paramiko模块介绍
- day09__Python的Socket协议介绍
- Python 序列化 pickle/cPickle模块使用介绍
- Python之模块介绍
- Python常用模块介绍
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- Python量化交易talib中SMA模块介绍