分布式处理数据:client
基于上篇:分布式处理数据:server,提供client调用代码
import asyncio
import websockets#async 为异步调用,可以理解为线程,但不等于线程,一公有10个活要干,10个人干,
# 就相当于10个线程活动,但是明明这些活我一个人就能干,那我用一个人干10个活就
# 好了,就是携程,await 为挂起,意思是这个活不用我干了,我就去干别的,把这个
# 活挂起来,等下下次要干就继续干这个
# 向服务器端认证,用户名密码通过才能退出循环
async def auth_system(websocket):while True:cred_text = input("please enter your username and password and type(account:password:send or recv): ")await websocket.send(cred_text)response_str = await websocket.recv()if "congratulation" in response_str:return True# 向服务器端发送认证后的消息,拿取数据
async def recv_msg(websocket):while True:#接收的脚本_text="request recv data"await websocket.send(_text)recv_text =await websocket.recv()print(recv_text,type(recv_text))if str(recv_text)=="exit":#关闭连接await websocket.close(reason="user exit")return# 向服务器端发送认证后的消息,传输数据给服务端
async def send_msg(websocket):while True:# 发送的脚本_text = "request send data"await websocket.send(_text)recv_text = await websocket.recv()print(recv_text)#这里是发送数据给服务端,因此这里没有数据的时候,要写个关闭连接的方法# #关闭连接await websocket.close(reason="user exit")# 客户端主逻辑
async def main_logic():async with websockets.connect('ws://localhost:5678') as websocket:await auth_system(websocket)#让服务端存储数据用这个,认证的时候发送root:123456:send,仔细看服务端代码认证的代码#如果需要自定义服务端队列传的认证为root:123456:自定义队列名称:send# await send_msg(websocket)#从服务端拿取数据用这个,和上面的存不能一起用发送root:123456:recv,仔细看服务端代码# 如果需要自定义服务端队列传的认证为root:123456:自定义队列名称:recvawait recv_msg(websocket)
loop=asyncio.get_event_loop()
loop.run_until_complete(main_logic())
# loop.run_forever()
因上篇服务端提供了默认队列,客户端调用 send_msg 只需要发送:root:123456:send,服务端会默认给个队列,客户端调用 recv_msg 只需要发送:root:123456:recv,就会从默认队列里面拿数据,如果需自定义队列,可以在调用send_msg的时候,发送root:123456:自定义名称:send,在拿取自定义队列数据的时候发送:toot:123456:自定义名称:recv,注意,自定义名称一定要和发送send的时候一致,才能拿到自定义队列的数据,注意send_msg和recv_msg不能一起调用
分布式处理数据:client相关推荐
- ZipKin原理学习(分布式实时数据追踪系统)+window部署zipkin+k8s部署zipkin
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google D ...
- PB级分布式大数据的处理和分析应用
文章讲的是PB级分布式大数据的处理和分析应用,对于大数据,串行的处理方式难以满足人们的要求,现在主要采用并行计算方式.现有的并行计算可以分为两种: ·细粒度的并行计算.这里细粒度主要是指指令或进程级别 ...
- 偏移出来的数据不准_独家解读!京东高可用分布式流数据存储的架构设计
作者 | 李玥 编辑 | Vincent AI 前线导读:每天,超过千亿交易相关的数据在京东数千个系统中高速流转,确保数据的高可靠.高可用.一致性对京东的消息中间件系统是一项艰巨的技术挑战.为高性能. ...
- 王家林 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程...
这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...
- Apache Gobblin 分布式大数据集成框架
Apache Gobblin 是一个分布式大数据集成框架,用于流式和批处理数据生态系统.该项目 2014 年起源于 LinkedIn,2015 年开源,并于 2017 年 2 月进入 Apache 孵 ...
- 分布式大数据多维分析引擎:Kylin 在百度地图的实践
2019独角兽企业重金招聘Python工程师标准>>> 1. 前言 百度地图开放平台业务部数据智能组主要负责百度地图内部相关业务的大数据计算分析,处理日常百亿级规模数据,为不同业务提 ...
- 分布式内存数据技术为查询提速
背景和需求 中国铁路客户服务中心网站(www.12306.cn)是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大.据统计, 在2012年初的春运高峰 ...
- Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智能开发
Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智能开发 FoodRecom ...
最新文章
- 论强化学习的根本缺陷
- buHdoZer‘s Arch
- Cisco访问控制列表配置指南
- 写给大家看的机器学习书【Part1】什么是机器学习?机器学到的到底是什么?
- 文件加密问题(中文字符)
- java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本
- pythonjpg_使用python判断jpeg图片的完整性实例
- jQuery学习笔记:Ajax(二)
- 正确的 zip 压缩与解压代码
- 信息学奥赛一本通(1141:删除单词后缀)
- 关于Keil4 转到 Keil5以后的一些错误解决
- python throw error_Python实用笔记——错误处理
- Go语言-测试与性能分析
- 神经网络 游戏,神经连接游戏
- SpringBoot/SpringMVC整合Shiro:实现登录与注册(MD5加盐加密)
- 【19C】logmnr参考
- SQL语句--简单的函数书写举例(1)
- bzoj 4403(Lucas定理)
- Python-jQuery
- System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”