为什么PebbleKit JS中的websocket导致iOS应用程序崩溃?

时间:2014-03-19 04:28:39

标签: pebble-watch

我正在尝试将Pebble加速度计数据记录到我的计算机上。我希望使用PebbleKit JS与手表本身进行通信,然后使用websockets将数据发送到我的计算机,但目前websocket只发送一条消息,然后iOS应用程序崩溃。

以下是pebble-js-app.js的内容:

var ws = new WebSocket('ws://192.168.1.134:8888');


// Called when JS is ready
Pebble.addEventListener("ready",
    function(e) {
        console.log("js initialized");
    }
);

// Called when incoming message from the Pebble is received
Pebble.addEventListener("appmessage",
    function(e) {

        console.log(ws.readyState);
        if (ws.readyState === 1) {
            ws.send('this gets sent');
            ws.send(e.payload.message);
        }
        console.log("acc data: " + e.payload.message);
    }
);

这是我运行应用程序时得到的日志:

[INFO    ] Enabling application logging...
[INFO    ] Displaying logs ... Ctrl-C to interrupt.
[INFO    ] JS: starting app: 4C74DC80-A54E-4D0B-9BAB-FD355D364334 accelero
[INFO    ] app is ready: 1
[INFO    ] JS: accelerometer: js initialized
[INFO    ] JS: accelerometer: 0                    
[INFO    ] JS: accelerometer: acc data: 3131
[INFO    ] JS: accelerometer: 1 

[ERROR   ] Lost connection to Pebble

我的计算机上运行的websocket服务器记录了从javascript发送的第一条消息。即使订单被更改,也只会发送一条消息(例如,它会打印this gets sent或来自加速度计的单个实际读数。奇怪的是,即使websocket发送了一些有效数据,javascript中的内置日志记录(console.log)也只是为接收到的数据打印3131。你能看到代码中的任何错误,或者你有其他建议吗?

0 个答案:

没有答案