python Socket编程(二)----SocketServer

本文介绍如何利用SocketServer模块简化Python网络编程过程,通过示例展示了服务端和客户端的实现方式,使得网络通信更加高效易懂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SocketServer是python网络编程的一个高级模块,封装了一些底层的基本方法,用SocketServer改写上一篇中的例子,服务端的程序如下:

''' Created on 2012-3-9 @author: Administrator ''' #!/usr/bin/env 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() 是不是简单很多呢,主要注意类MyRequestHandler是StreamRequestHandler的子类,handle方法是父类的方法,在这里复写并打印。

客户端的程序没什么变化:

''' Created on 2012-3-9 @author: Administrator ''' #!/usr/bin/env python from socket import * HOST='localhost' PORT=21567 BUFSIZ=1024 ADDR=(HOST,PORT) while True: tcpCliSock=socket(AF_INET,SOCK_STREAM) tcpCliSock.connect(ADDR) data=raw_input('>') if not data: break tcpCliSock.send('%s \r\n' % data) data=tcpCliSock.recv(BUFSIZ) if not data: break print data.strip() tcpCliSock.close()




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值