Python WebSocket 实现融通金实时行情监听

作者:脉动数据行情日期:2026/8/25

一、业务背景

黄金回收、珠宝门店系统开发中,融通金报价是很常用的数据来源。本文使用 Python WebSocket 实现长连接监听,包含心跳保活、断线自动重连、行情字段解析,可直接部署服务端 7×24 小时运行。

说明:订阅报文格式 {"Key":"品种编码"},客户端每 10 秒发送 ping 心跳维持链路。 主要品种编码:RJGOLD 融通金黄金,RJAG 融通金白银,RJPT 铂金,RJPd 钯金。

二、Python 依赖安装

1pip install websocket-client
2

三、完整代码实现

1import websocket
2import json
3import threading
4import time
5
6# WebSocket真实地址,仅代码内配置
7WS_URL = "ws://39.107.99.235/ws"
8SYMBOL = "RJGOLD"
9
10def heartbeat_daemon(ws_conn):
11    while True:
12        try:
13            ping_payload = json.dumps({"ping": int(time.time())})
14            ws_conn.send(ping_payload)
15        except Exception:
16            pass
17        time.sleep(10)
18
19def on_open(ws):
20    print("长连接已建立,订阅融通金黄金行情")
21    sub_msg = json.dumps({"Key": SYMBOL})
22    ws.send(sub_msg)
23    threading.Thread(target=heartbeat_daemon, args=(ws,), daemon=True).start()
24
25def on_message(ws, message):
26    try:
27        obj = json.loads(message)
28        if "body" not in obj:
29            return
30        body = obj["body"]
31        print("-" * 60)
32        print(f"融通金黄金 售卖价:{body['Price']} 回购价:{body['BuyPrice']}")
33        print(f"最高:{body['High']} 最低:{body['Low']} 更新时间:{body['Time']}")
34        print("-" * 60)
35    except Exception as e:
36        print("解析异常", str(e))
37
38def on_close(ws, code, msg):
39    print(f"连接断开 code={code}, 3s后重连")
40    time.sleep(3)
41    start_ws()
42
43def start_ws():
44    app = websocket.WebSocketApp(
45        WS_URL,
46        on_open=on_open,
47        on_message=on_message,
48        on_close=on_close
49    )
50    app.run_forever()
51
52if __name__ == "__main__":
53    start_ws()
54

四、HTTP 获取实时行情示例代码

不需要长连接的场景,可以用 HTTP 轮询方式获取报价。

1import requests
2
3url = "http://39.107.99.235:1008/getQuote.php?code=RJGOLD"
4headers = {"Accept‑Encoding": "gzip"}
5
6resp = requests.get(url, headers=headers, timeout=8)
7print(resp.text)
8

五、K 线获取示例代码

1import requests
2
3url = "http://39.107.99.235:1008/redis.php?code=RJGOLD&time=5m&rows=200"
4resp = requests.get(url, timeout=8)
5print(resp.text)
6

六、字段简要说明

字段说明
StockCode品种编码
Price售卖报价
BuyPrice门店回购价
High日内最高
Low日内最低
Time行情更新时间

七、生产环境注意点

  1. WebSocket 空闲状态必须每 10 秒发送心跳包,否则服务端会主动关闭连接;
  2. HTTP 调用注意频率,不要高频循环请求,避免触发限流;
  3. 线上部署建议增加日志输出,把行情落库,方便后续查询;
  4. 切换其他品种,只需要修改编码,业务逻辑不用改动。

八、总结

这套代码解决融通金行情监听的心跳、重连、解析问题,适合黄金门店系统、金价大屏等业务场景,更换品种编码即可适配白银、铂金等其他品类。


《Python WebSocket 实现融通金实时行情监听》 是转载文章,点击查看原文。


相关推荐


DeepResearchSystem 0x08:KB 知识记忆
chaors2026/8/12

回顾 -> 问题引出 DeepRearchSystem 0x00:初识 DeepRearchSystem 0x01:Agent 基础 DeepRearchSystem 0x02:Graph 构建 DeepRearchSystem 0x03:HITL DeepResearchSystem 0x04:MAS 进阶 DeepResearchSystem 0x06:LLM as Judge DeepResearchSystem 0x07:查询缓存 上一章] 实现了 DeepRearchSystem


Octafuse Gateway 2.1 发布:不只管大模型,Agent 的每一次工具调用也都管起来!
程序猿DD2026/8/3

过去我们的 AI 网关,绝大多数的更新关注点在以下几个方面: 如何统一接入 OpenAI、Anthropic、Gemini 等协议 如何在多个 Provider 之间路由和故障转移 如何管理 API Key、预算、Token、成本与调用日志 但当 Agent 真正进入业务,模型调用只是链路的一部分。它还会搜索网页、抓取正文、做深度检索,甚至调用 AI 率检测等垂直能力。如果这些工具各自维护密钥、价格、账单和日志,系统很快又会回到“每接一个能力,就多一套烟囱”的状态。之前我们已经做了一些 Ag


Rust Option 详解:安全处理“可能存在,也可能不存在”的值
程序员爱钓鱼2026/7/26

《Rust 编程实战》系列第 21 篇 在上一篇文章中,我们学习了 HashMap。 在使用 HashMap 查询数据时,经常会看到这样的代码: map.get("Tom") 它的返回值并不是直接返回某个值,而是: Option<&V> 为什么? 因为指定的键可能存在,也可能不存在。 Rust 使用: Option<T> 来表示这种“可能有值,也可能没有值”的情况。 它是 Rust 中最重要的枚举类型之一。 本文将介绍: 什么是 Option<T> Some 与 None 为


用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
万少2026/7/18

用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃 天天用的界面,能不能好看一点? WorkBuddy 是一款很趁手的桌面工具,但默认界面看久了难免有点单调。作为一个既想要颜值、又不敢乱改软件的人,我做了一个小工具——workbuddy-skin,给它换上背景壁纸和毛玻璃质感的界面,而且全程不碰任何官方文件,随时能变回原样。 现在它已经打包成双击就能用的绿色程序,不用装环境、不用敲命令,普通用户也能轻松上手。 它做了什么 真背景层:在整个窗口铺一张


【AI智能体】Hermes Agent 从部署到项目实战操作详解
小码农叔叔2026/7/9

目录 一、前言 二、Hermes 介绍 2.1 Hermes 是什么 2.2 与普通AI聊天工具区别 2.3 Hermes 核心理念:自我进化 2.4 Hermes 核心功能 2.5 Hermes 与 OpenClaw 对比 2.6 哪些人适合使用Hermes 三、Hermes 桌面版安装过程 3.1 获取安装包 3.2 安装过程 四、Hermes 桌面版配置 4.1 界面基本功能介绍与使用 4.1.1 开启对话 4.1.2 对话框模型选择 4.1.3 技


GO语言变量与数据类型
知恒(Eternal)2026/7/1

Go语言变量与数据类型详解 本篇文章深入讲解Go语言的数据类型体系,包括基本类型、复合类型、类型转换和指针。理解数据类型是编程的基石,本篇将帮助你建立扎实的类型系统认知。 1. 变量基础 1.1 变量的本质 变量是程序运行时存储数据的容器。每个变量都有三个核心属性:名字、类型和值。名字用于在代码中引用变量,类型决定了变量能存储的数据种类和大小,值则是变量当前保存的具体数据。 在Go语言中,变量必须先声明后使用。这是Go语言设计理念的一部分,它要求程序员明确表达意图,减少错误。Go是一种静态类


系统架构设计师-数据库并发控制核心机制
上岸研究员2026/6/22

一、引言 1.1 核心概念定义 并发控制是数据库管理系统为保证多事务并发访问时数据一致性、完整性而实现的核心机制,事务是并发控制的基本逻辑单位,指对数据库进行读写操作的一组不可分割的执行序列。封锁协议是当前关系型数据库实现并发控制的主流技术手段,通过对数据对象施加不同类型的锁、控制锁的申请与释放时机,实现事务间的访问隔离。 1.2 软考考点定位 本知识点属于软考高级系统架构设计师考试大纲中 "数据库架构设计" 模块的核心内容,历年考试中选择题、案例分析题均有涉及,平均占比约 5-8 分,


2026年支持自定义模板的AI PPT工具测评:5款工具横向对比
一头爱吃肉的牛2026/6/14

市面上AI生成PPT的工具很多,但能上传自己公司模板的却没几个。如果你有统一的品牌规范,或者想保持PPT风格一致,这篇文章实测5款支持自定义模板的工具,帮你找到最适合的那一款。 声明:本文基于2026年5月对5款AI PPT工具的独立模拟测试,数据仅供参考,请以各工具官网最新信息为准。 一、为什么你需要这个功能? 你有没有遇到过这种情况:公司有统一的PPT模板,但你用AI工具生成后,发现字体不对、颜色不对、logo位置也不对,最后还得一页一页手动改? 自定义模板功能的价值在于:你可以


Re:Mysql数据库基础篇(一):CentOS/Linux 环境下的完整安装/运行/登录Mysql流程与首次登录异常处理
小此方2026/6/7

◆ 博主名称: 小此方-CSDN博客 大家好,欢迎来到小此方的博客。 ⭐️Linux系列个人专栏: 【主题曲】Mysql ⭐️此方的GitHub: github_此方 ⭐️ Re系列专栏:我们思考 (Rethink) · 我们重建 (Rebuild) · 我们记录 (Record) 文章目录 概要&序論一、下载准备工作1.1 查看和卸载你的机器上原有的Mysql1.1


金融系统数据一致性之战:联机交易与批量作业的冲突处理完全指南
无心水2026/6/1

金融系统数据一致性之战:联机交易与批量作业的冲突处理完全指南 关键词:金融系统 数据一致性 联机交易 批量作业 乐观锁 悲观锁 热点账户 分布式事务 死锁避免 阅读建议:本文约12000字,配有7张Mermaid流程图和2张对比表格,建议先收藏再阅读。 📑 目录 引言:一个夜间批量引发的血案冲突根源分析:联机与批量的“三座大山”六大核心策略详解 3.1 乐观锁:轻量级的“版本裁判”3.2 悲观锁:霸道的“行级门禁”3.3 物理/逻辑隔离:错峰与状态控制3.4 串行化处

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读