1

我在 chrome 扩展中使用ddpbrowserify包通过 ddp 客户端与 Meteor 应用程序通信。

但是,当我实例化连接时,我遇到了错误:

Uncaught SyntaxError: Failed to execute 'connect' on 'WebSocket': The subprotocol '[object Object]' is invalid.

这发生在创建一个new Websocket(uri='ws://localhost:3000/websocket', protocols={})

我在如何通过 DDP (WebSocket) 协议访问meteor.com 上托管的应用程序中看到类似的错误?,但他们不得不将端口更改为 443 的解决方案不起作用。

有人有解决方法吗?

4

1 回答 1

0

协议参数是可选的,并且必须是字符串或协议数组,如此处所述(在您的代码中,您提供了一个对象)

一旦解决了这个问题,显然您将需要附加所有其他强制回调,通常是:

exampleSocket.onopen = function (event) {
  exampleSocket.send("Here's some text that the server is urgently awaiting!"); 
};

以及处理服务器消息的回调

exampleSocket.onmessage = function (event) {
  console.log(event.data);
}
于 2013-12-20T09:20:56.273 回答