socketServer
模块是一个高级模块他可以帮助我们简化很多样板代码
让我们写
socket
更加轻松。今天我们来写一个关于消息发送与接收的脚本
,
架构是
C/S
(客户端与服务端)架构
流程大概是这样子的
代码在下面
服务端代码
from SocketServer import (TCPServer as TCP, StreamRequestHandler as SRH) #导入模块并取别名 as是别名
from time import ctime #导入打印时间模块ctime
HOST = ''
PORT = 22222
ADDR = (HOST, PORT) #bind()方法的表示 绑定主机和端口
class MyRrequestServer(SRH):
def handle(self): #重构handle方法 在StreamRequestHandler中handel方法里面什么都没有 这里的意思是只有有请求过来就先执行handle方法
print '...connected from:', self.client_address #打印客户端地址
self.wfile.write('[%s] %s' % ( ctime(), self.rfile.readline())) #返回数据给客户端 第一个参数是当前时间 第二个参数是打印传过来的数据
#self.wfile.write('Client: %sn ' % str(self.client_address) )
tcpserv = TCP(ADDR, MyRrequestServer) #绑定主机信息
print 'waiting form connet'
tcpserv.serve_forever() #创建TCP服务器
from socket import * #