python_网络编程

SocketServer 模块 是标准库中一个高级别的模块。。用于简化时间网络客户端与服务器所必需的大量样板代码

包含的类有:

BaseServer :包含服务器的核心功能和混合(mix-in)类挂钩;这个类之用于派生,所以不会生成这个类的实例。。

TCPServer/UDPServer  :  基本的网络同步TCP/UDP 服务器

BaseRequestHandler  : 包含处理服务请求的核心功能,只用于派生,所以不会生成实例

StreamRequestHandler/DataGramrequestHandler 用于TCP/UDP 服务器的服务处理工具

#!/usr/bin/python

from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)
from time import ctime

HOST=''
PORT=21567
ADDR=(HOST,PORT)

class MyRequestHandler(SRH):
	def handle(self):
		print '...connected from:',self.client_address
		self.wfile.write('[%s] %s' % (ctime(),self.rfile.readline()))

tcpServ=TCP(ADDR,MyRequestHandler)
print 'waiting for connection...'
tcpServ.serve_forever()

这里 从 SocketServer  的StreamRequestHandler 类派生出一个子类,并重写handle 函数,在handle 函数中处理来自客户端的连接。。


下面是其他与网络套接字相关的Python 模块。select 模块通常在底层套接字程序中与socket 模块联合使用,它提供了select 函数,可以同时管理多个套接字对象,最有用的功能是同时监听多个套接字的连接.....select 函数会阻塞,知道有至少一个套接字准备好了要通讯的时候才退出。

socket  底层网络接口。

asyncore/asynchat   :为能异步处理客户端请求的网路应用程序提供底层功能

select   :在单线程网络服务器程序中,管理多个套接字

SocketServer   包含了为网络应用程序提供服务器的高级别模块。。





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值