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