




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2233445566者其他下载者(包括发布者)的IP778899importargparseimportjsonimportimportargparseimportjsonimportloggingimportpicklefromredisliteimportRedisfromtornadoimportwebsocket,web,ioloopfromwrenchbox.loggingimportsetup_logclients=[]/3/library/argparse.parser=argparse.ArgumentParser()'--debug',action='store_true',aultFalsehelpshowdebuginformation)...'-p','--port',type=int,default=DEFAULTS['port'],help='listeningport,default:{}'.format(DEFAULTS['port']))...'-r','--redis',type=str,default='redis.db',help='redisdatabasefile,default:redis.db')rgsprint(args)importargparseimportjsonimportloggingimportpicklefromredisliteimportRedisfromtornadoimportwebsocket,web,ioloopfromwrenchbox.loggingimportsetup_logclients=[]/3/library/pickle.importargparseimportjsonimportloggingimportpicklefromredisliteimportRedisfromtornadoimportwebsocket,web,ioloopfromwrenchbox.loggingimportsetup_logclients=[]可选持久性(Durability)的键值对存储数据库...setup_log(level=logging.DEBUGifargs.debugelselogging.INFO)db=Redis(args.redis)ifb'peers'notindb.keys():db.set('peers',pickle.dumps(set([])))importargparseimportjsonimportloggingimportpicklefromredisliteimportRedisfromtornadoimportwebsocket,web,ioloopfromwrenchbox.loggingimportsetup_logclients=[]...web.Application([(r'/',IndexHandler),(r'/ws',SocketHandler)]).listen(args.port)('Tornadoislisteningonport:%d',args.port)ioloop.IOLoop.instance().start()classIndexHandler(web.RequestHandler):defget(self):self.render("index.html")<divclass="container"></div>classSocketHandlerwebsocket.WebSocketHandler):defcheck_origin(self,origin):returnTruedefopen(self):('Clientconnected:%s',self.request.remote_ip)ifselfnotinclients:clients.append(self)defon_close(self):ifselfinclients:clients.remove(self)else:...else:...defon_message(self,message):try:sageself.write_message(json.dumps({'status':500,}))vifmessageisnotNone:if'op'inmessage:ifmessage['op']=='register':if'args'inmessageand'addr'inmessage['args']:...else:...elifmessage['op']=='peers':...else:...else:...if'args'inmessageand'addr'inmessage['args']:peers=pickle.loads(db.get('peers'))ifnotisinstance(message['args']['addr'],list):message['args']['addr']=[str(message['args']['addr'])]foraddrinmessage['args']['addr']:ifaddr.startswith('ws://')oraddr.startswith('wss://'):peers.add(addr)db.set('peers',pickle.dumps(peers))self.write_message(json.dumps({'status':202,'error':'Accepted'}))if'args'inmessageand'addr'inmessage['args']:...else:self.write_message(json.dumps({'status':500,'error':'Operation"register"requiresthefollowing"args":"addr"',}))elifmessage['op']=='peers':self.write_message(json.dumps({'status':200,'error':'OK','response':{'peers':list(pickle.loads(db.get('peers')))}}))else:self.write_message(json.dumps({'status':404,'error':'Operation"{}"isnotsupported.'.format(message['op']),}))else:self.write_message(json.dumps({'status':500,}))
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津2025年天津市教育委员会教育综合服务中心招聘笔试历年参考题库附带答案详解-1
- 天津2025年天津华北地质勘查局核工业二四七大队招聘8人笔试历年参考题库附带答案详解-1
- 大理云南大理永平县思源实验学校公益性岗位招聘笔试历年参考题库附带答案详解
- 社交媒体中的网络安全与防护策略探讨
- 电商平台安全与风险控制全解析
- 电力公司个人年度总结
- 社区中医药健康教育提升居民健康素养
- 学校组织部工作计划范文
- 环境影响评价与可持续发展理论与实践研究进展
- 开发工程技术人员转正工作总结
- 新版统编版一年级道德与法治下册全册教案(完整版)教学设计含教学反思
- 城市开放空间-课件
- 2025年春季学期学校德育工作计划安排表(完整版)
- 湖南2024年湖南省水利厅所属事业单位招聘57人笔试历年参考题库附带答案详解
- 2024年加氢站技术规范
- 《幼儿教育政策与法规》教案-单元4 幼儿园的保育和教育
- 小学思政培训
- 《森林火灾预防与扑救技术课件教程》
- 2025年度会计人员继续教育会计法律法规答题活动测试100题答案
- 第15课 人机对话的实现 说课稿 六上信息科技浙教版(2023)001
- 电气化基本知识-岗培教材编写86课件讲解
评论
0/150
提交评论