Python学习(一)——————网络编程(二)
2013-12-29 21:06
197 查看
这篇文章学习Python网络编程的SocketServer类,涉及到的函数如下:
其中服务器的模型是面向对象的,需要自己继承原有的类进行扩展,具体简单代码如下
其中服务器的模型是面向对象的,需要自己继承原有的类进行扩展,具体简单代码如下
# socketserver.py # code by eric # @2013 from SocketServer import (TCPServer as TCP, StreamRequestHandler as SRH) from time import ctime HOST='' PORT=21111 ADDR=(HOST,PORT) class MyRequestHandler(SRH): def handle(self): print '....connected from :',self.client_address self.wfile.write('[%s] %s' %(ctime(),self.rfile.readline())) tcpserver = TCP(ADDR,MyRequestHandler) print 'waiting for connection...' tcpserver.serve_forever() #这里可以看到,TCPServer需要两个参数一个是地址对儿,一个是自定义的处理函数, #自定义的处理函数必须要继承自SRH,在这里简单起见我只重写了处理函数,处理函数 #中的输入和输出都是类文件操作,然后服务器就在不停地循环,但是这个代码的缺陷是 #服务器每一次处理完后都要失去链接即close().不过可以改成不失去链接的。 # socketclient.py # code by eric # @2013 from socket import * HOST='localhost' PORT=21111 BUFSIZE=1024 ADDR=(HOST,PORT) while True : tcpcs = socket(AF_INET,SOCK_STREAM) tcpcs.connect(ADDR) data = raw_input('> ') if not data : break tcpcs.send('%s\r\n' %data) data = tcpcs.recv(BUFSIZE) if not data : break print data.strip() tcpcs.close() #客户端代码很简单没得说
相关文章推荐
- Python学习(一)——————网络编程(一)
- Python语法学习之文件操作
- 【Python】学习笔记七:函数
- 学习 Python 编程的 19 个资源
- Python学习笔记 使用数据库SQlite Mysql
- Python3中urllib学习笔记
- Python学习之argparse模块
- python 学习之二次函数求解以及异常处理
- Python学习零散杂记(2017-11-28)
- 使用 EduBlocks 轻松学习 Python 编程
- [Python学习]Unicode及编码处理心得
- 3-python学习——变量
- 我的python学习之路-10
- python学习第七课,参数传递
- python学习之模块
- python学习之 进制转化
- python学习——python库安装综述
- Python学习1 基础知识
- Learn Python The Hard Way学习(17) - 更多的文件操作
- python学习之html从0开始(二)