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

Traccar WebSocket连接失败求助:按官方文档操作仍无法连接

无法建立Traccar WebSocket连接以获取实时数据

我是WebSocket新手,想通过Traccar的WebSocket API获取实时数据,但始终无法建立连接。我已经参照了Traccar的官方文档。

我的代码如下:

$.ajax({
    //url: "http://[IP]:8082/api/session",
    url: "http://demo.traccar.org/api/session",
    dataType: "json",
    type: "POST",
    data: {
        email: "useremail@email.net",
        password: "myPassword"
    },
    success: function(sessionResponse){
        console.log(sessionResponse);
        openWebsocket();
    }
});

var openWebsocket = function(){
    var socket;
    socket = new WebSocket('ws://demo.traccar.org/api/socket');

    socket.onclose = function (event) {
        console.log("WebSocket closed");
    };

    socket.onmessage = function (event) {
        var i, j, store, data, array, entity, device, typeKey, alarmKey, text, geofence;
        console.log(event.data);
    };
};

目前遇到的错误:
连接错误


问题排查与解决方法

  • 补全WebSocket端口:你当前的WebSocket URL漏了Traccar默认的HTTP端口8082,正确地址应为ws://demo.traccar.org:8082/api/socket,这是连接失败的核心原因之一。
  • 确认会话Cookie传递:登录成功后,浏览器需携带会话Cookie才能建立WebSocket连接。如果是跨域场景,要在Traccar配置文件traccar.xml中添加<entry key="web.origin">你的页面域名</entry>开启跨域支持,确保Cookie能正常传递。
  • 添加错误监听:给WebSocket实例加上onerror事件,方便查看具体错误信息,辅助排查问题。

修正后的WebSocket初始化代码:

var openWebsocket = function(){
    var socket;
    socket = new WebSocket('ws://demo.traccar.org:8082/api/socket');

    socket.onopen = function(event) {
        console.log("WebSocket连接成功");
    };

    socket.onclose = function (event) {
        console.log("WebSocket closed");
    };

    socket.onmessage = function (event) {
        console.log(event.data);
    };

    socket.onerror = function(error) {
        console.error("WebSocket错误详情:", error);
    };
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:35:16