EuroScope Plugin · WebSocket API

EuroScope Data Bridge

面向 EuroScope 模拟管制系统的插件 DLL:在本地启动 WebSocket 服务,将雷达、飞行计划、管制员等实时数据以 JSON 形式对外暴露,支持订阅推送与主动查询、修改。

latest C++17 Win32 · x86 MIT
ws://127.0.0.1:48521本地 WebSocket 端点
13种推送事件
55种请求与操作
64并发客户端上限

01 · 简介

什么是 Data Bridge?

EuroScope Data Bridge 是一个运行在 EuroScope 内部的插件 DLL。插件加载后自动在本机 127.0.0.1:48521 上启动 WebSocket 服务,外部程序(网页、脚本、数据分析工具)可以订阅跑道活动变化、雷达位置更新、飞行计划变更等事件,也可以主动查询和修改 EuroScope 数据。所有通信均使用 JSON 文本,协议简单、无任何第三方依赖。

连接方式WebSocket,仅监听 127.0.0.1 本机回环地址
通信协议JSON 文本消息:请求 / 响应 / 推送事件
线程模型每个请求独立异步线程处理,IO 线程零阻塞
背压保护每客户端发送队列上限 32 MB,防止内存无限增长

02 · 架构

架构

插件以 DLL 形式运行于 EuroScope 进程内部,通过 EuroScope SDK 回调采集数据,再经内置 WebSocket 服务推送给外部客户端。

EuroScope(主线程)

DataBridgePlugin
ES 回调 · 每请求工作线程
FullSnapshot

外部客户端

网页 / 脚本 / 数据分析工具
JSON Push Events
Request / Response

03 · 特性

核心特性

PUSH / 01

订阅式推送

13 类实时事件:雷达更新、飞行计划变更、管制员上下线、聊天、METAR 等,按客户端订阅精确推送。

REQUEST / 02

请求 / 响应

55 种请求与操作:查询快照、修改应答机与高度、移交协调、语音频道切换,响应按 id 一一对应。

TIMER / 03

定时心跳

每秒一次的 timer 事件,为轮询与心跳检测提供稳定的节拍。

ROBUST / 04

稳健可靠

每请求独立异步线程、IO 线程零阻塞;背压保护应对高负载,连接异常自动清理。

04 · 技术栈

技术栈

组件说明
C++17DLL 编译标准
Visual Studio 2022 (v143)工具集
Win32 (x86)目标平台(EuroScope 为 32 位进程)
websocketppWebSocket 服务端(header-only,随仓库内置)
nlohmann/jsonJSON 序列化 / 反序列化
vcpkgC++ 包管理
.NET 8 / WPF随附测试客户端(TestProject)

05 · 快速开始

快速开始

EuroscopeDataBridge.dll 复制到 EuroScope 插件目录,或在 EuroScope 插件设置中添加该 DLL 路径。

启动 EuroScope,插件加载后自动在本机 ws://127.0.0.1:48521 启动 WebSocket 服务。

连接 WebSocket,先订阅感兴趣的事件类型,再发送查询或修改请求。

无需编写代码即可验证:仓库附带 WPF 测试客户端 tests/EuroScopeDataBridge.TestProject

JavaScript
const ws = new WebSocket('ws://127.0.0.1:48521');

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  console.log(msg.type, msg.data);
};

ws.onopen = () => {
  // 订阅事件:订阅后才会收到对应类型的推送
  ws.send(JSON.stringify({
    type: 'subscribe', id: 'sub-1',
    data: { events: ['radar_update', 'flightplan_update', 'timer'] }
  }));

  // 查询所有飞行计划
  ws.send(JSON.stringify({ type: 'get_flightplans', id: 'req-1' }));
};

06 · 文档

完整使用文档

API 文档 · Wiki

覆盖连接方式、消息格式、全部 13 种推送事件与 55 种请求、数据结构参考、错误处理与配置常量,并附有完整请求 / 响应示例。

进入文档 →

07 · 下载

下载

Latest Release · latest

从 GitHub Releases 获取预编译的 EuroscopeDataBridge.dll(Win32)。版本号自动取自最新 Release,下载后将其复制到 EuroScope 插件目录即可使用。

前往下载 ↗