python和zmq包实现在sever和client之间进行信息传递

简介: python和zmq包实现在sever和client之间进行信息传递

zmq包

这个包用于在sever和client之间传递信息挺方便的,比socket用着简单。

一个使用场景

在量化平台中,如果需要跑多个策略,每个策略都需要获取数据的时候,如果都从交易所获取,可能超过请求限制,可以在本地只获取一次,获取的数据放到sever上,每个策略作为client调用sever的数据,这样就解决了数据限制的问题。

小例子

server

import zmq
import time
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:5411")
while True:
    message={'name':'yunjinqi','time':time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())}
    print(message)
    socket.send_string(str(message))
    time.sleep(1)

client

import zmq
import sys
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://localhost:5411")
socket.setsockopt_string(zmq.SUBSCRIBE,'')  # 消息过滤
while True:
    response = socket.recv();
    print( eval(bytes.decode(response)))
目录
相关文章
|
2天前
|
JavaScript 关系型数据库 MySQL
Python实战:从猎聘网获取职位信息并存入数据库
Python实战:从猎聘网获取职位信息并存入数据库
|
7天前
|
存储 供应链 开发者
Python列表打造简易进销存系统:轻松管理库存信息!
Python列表打造简易进销存系统:轻松管理库存信息!
|
14天前
|
Python
Python文件的异常、模块与包
Python文件的异常、模块与包
15 3
|
21天前
|
Python
Python中的模块与包——深入理解与应用
Python中的模块与包——深入理解与应用
|
24天前
|
Python
python(pip)包/模块:如何离线安装?
python(pip)包/模块:如何离线安装?
13 0
|
25天前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
73 0
|
25天前
|
索引 Python
真的!千万不要忽略这些python常见报错信息_nameerror name ‘a‘ is not defined
真的!千万不要忽略这些python常见报错信息_nameerror name ‘a‘ is not defined
|
27天前
|
关系型数据库 Java 分布式数据库
实时计算 Flink版操作报错合集之在使用 Python UDF 时遇到 requests 包的导入问题,提示 OpenSSL 版本不兼容如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
40 5
|
28天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
|
28天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)