Javascript Websocket订阅频道

Posted

技术标签:

【中文标题】Javascript Websocket订阅频道【英文标题】:Javascript Websocket Subscribe to Channel 【发布时间】:2018-09-03 13:38:25 【问题描述】:

我正在尝试在 vanilla javascript 中使用本机 WebSocket 订阅频道(不使用任何库)[因为我刚刚读过它是可能的,但我不确定 - 如果我错了,请纠正我]。

我正在尝试获取比特币的最新价格

let ws = new WebSocket('wss://ws-feed.gdax.com');

var params = 
   "type": "subscribe",
   "channels": ["name": "ticker", "product_ids": ["BTC-USD"]]


ws.onmessage = function(msg) 
    console.log(msg);

我正在尝试连接到此频道,但我无法做到。我在控制台中没有得到任何输出。

如何将参数输入通道并开始收听?

【问题讨论】:

github.com/gimite/web-socket-js 可能有帮助,请查看浏览器支持 【参考方案1】:

以下是有关如何使用普通 html5 websockets 订阅“ArticlesChannel”的示例。

let ws = new WebSocket('ws://localhost:4000/cable');

ws.onopen = function()
  //Subscribe to the channel
  ws.send(JSON.stringify("command": "subscribe","identifier":"\"channel\":\"ArticlesChannel\""))
    

ws.onmessage = function(msg) 
    console.log(JSON.parse(msg.data).message);

【讨论】:

这是本机支持的还是还需要服务器端实现? 如何在上述语法中发送额外的参数?

以上是关于Javascript Websocket订阅频道的主要内容,如果未能解决你的问题,请参考以下文章

javascript Bookmarklet:批量取消订阅YouTube频道

EventMachine WebSockets - 订阅 WS 到 EM 频道与保持套接字收集

通过 ios 中的红蜘蛛进行 Websocket 连接

使用 WebSocket 的原始 javascript GraphQL 订阅不起作用

安全的 Pubnub 订阅者密钥和频道名称

golang中如何释放websocket和redis网关服务器资源?