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)))
目录
相关文章
|
16天前
|
Python
|
16天前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
39 2
|
16天前
|
Python
python解包字典到新的字典
【7月更文挑战第5天】
14 1
|
7天前
|
安全 网络安全 数据安全/隐私保护
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
|
11天前
|
存储 Python
Python之日期和时间包datetime的使用
1、基本定义 1.1 时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数(或总毫秒数)。 网上有很多时间戳在线转换工具,可以自行计算验证。
|
12天前
|
调度 数据库 UED
Python使用asyncio包实现异步编程方式
异步编程是一种编程范式,用于处理程序中需要等待异步操作完成后才能继续执行的情况。 异步编程允许程序在执行耗时的操作时不被阻塞,而是在等待操作完成时继续执行其他任务。 这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有用。
|
12天前
|
Ubuntu 编译器 Python
【Python】已解决:安装python-Levenshtein包时遇到的subprocess-exited-with-error问题
【Python】已解决:安装python-Levenshtein包时遇到的subprocess-exited-with-error问题
16 1
|
17天前
|
文字识别 Python
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
|
16天前
|
Python
Python中字典 直接解包
【7月更文挑战第4天】
17 3
|
16天前
|
Python
python解包字典到函数参数
【7月更文挑战第5天】
13 2