You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R的websocket连接AISstream.io时遭遇handle_read_frame错误求助

解决R websocket连接AISstream.io的handle_read_frame错误及格式问题

问题根源分析

你收到的十六进制消息是ASCII编码的错误提示,解码后内容为:

{"error": "Subscription Object Is Malformed"}

结合报错和代码来看,问题出在两个核心点:

  • WebSocket URL末尾的多余空格:代码里的URL是"wss://stream.aisstream.io/v0/stream ",末尾空格会导致连接解析异常,触发End of File错误。
  • 订阅参数格式错误:BoundingBoxes字段被错误用引号包裹成字符串,AISstream要求该字段是JSON数组类型,而非字符串。

修正后的代码

library(websocket)

{
  # 移除URL末尾的多余空格
  ws <- WebSocket$new("wss://stream.aisstream.io/v0/stream")
  ws$onMessage(function(event) {
    d <- event$data
    cat("Message ", d, "\n")
  })
  ws$onOpen(function(event) {
    # 修正BoundingBoxes格式,去掉外层引号直接传数组
    ws$send('{"APIKey":"<你的API密钥>", "BoundingBoxes": [[[-90, -180], [90, 180]]]}')
  })
  ws$onClose(function(event){
    c <- event$code
    cat("Close ", c, "\n")
  })
}

额外注意事项

  • 务必将<你的API密钥>替换为AISstream.io提供的有效密钥。
  • 建议更新websocket包到最新版本,规避版本兼容问题:
    install.packages("websocket")
    

内容的提问来源于stack exchange,提问作者BLP92

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:11:13