python SocketServer 框架编程

2015-05-03 15:18:56

1. SocketServer框架

 
  在python中,socketserver是一个已集成的模块,它有以下特点: 
  
 
可用SocketServer框架创建TCP和UDP服务器。
在后台为你做好每一个基础步骤。
可以手动创建一个服务器欺骗客户端和分析它的行为。
2. SocketServer模块的用法
 
必须是BaseRequestHandler的子类
重写handle()函数
调用handle_request或者serve_forever处理客户端程序。
对TCP 服务端来说 
self.request是客户端Socket
self.client_address是客户端的详细地址
3. python 代码
 
服务端:
 
#!/usr/bin/env python
# _*_ coding=utf-8 _*_
 
import SocketServer
 
class SockHandler(SocketServer.BaseRequestHandler):
 
    def handle(self):
        print "接收到客户端的一个连接:",self.client_address
        data = 'start'
 
        while len(data):
            data = self.request.recv(2048)
            self.request.send("返回: " + data)
 
        print "客户端关闭... ..."
 
 
serAddr = ("0.0.0.0",8888)
print "等待连接... ..."
 
server = SocketServer.TCPServer(serAddr,SockHandler)
 
server.serve_forever()
 
客户端用nc命令进行测试:
 
$ nc 192.168.1.95 8888
 
你好 
返回: 你好 
okay 
返回: okay

为您推荐