跳到主要内容

Android自定义连续资源回传

Android独立宿主提供Responder.frame(bytes),供应用自己的Transport逐帧送入WebSocket实时图源。脚本仍使用source.sqs.connectLive({transport:{type:'websocket',url,...}}),持续监听保持sessionMode='persistent',动态库内置QuickJS。界面和连接实现由应用提供。

// 在外部Transport的消息回调中,串行等待回传完成后才接收下一帧。
response.frame(messageBytes).get();
// 连接关闭或失败时终止本次请求。
response.failure("IO_ERROR", "Socket closed").get();

不要在地图Owner线程的Transport.start中等待Future;在那里只建立异步任务并返回取消句柄。frame只接受WebSocket请求;普通HTTP使用success。输入返回前已复制,每个响应器最多一个在途回传,全部待处理复制共享64MiB预算,单帧还须满足核心maxBytes。超限明确拒绝且不改变图源。调用方等待Future形成反压;cancel必须快速关闭应用连接并返回。

暂停/重跑/销毁取消旧任务,同代可连续snapshot/delta,旧代回传忽略。failure终止并取消外部Task;关闭宿主后回传拒绝。核心拥有实时协议、128位序号、暂停/恢复与重连状态,应用不得另造序号。

默认宿主的WS/WSS已在04.8c6接通,见默认实时传输。应用可继续提供自己的Transport处理额外协议/认证需求。本阶段只完成Java/JNI连续回传边界,未把模拟Transport标成真实WebSocket或手机验证。API24/ARM64JNI及LinuxJVM的20项真实核心回传/事件/像素通过;Android设备、iOS和移动GIS接入仍待验收。

Android宿主 · 实时图源 · 验收状态

终止错误可绕过在途消息反压,取消外部任务,并丢弃尚未提交的旧帧;非法错误参数保留原通道。