通过websocket连接到Slack的RTM API 404

我试图从Slack连接到RTM API时遇到了最奇怪的错误。

我在节点中实现了一个简单的机器人,我使用socket.io来处理web套接字连接。 但是,它总是抛出错误{ [Error: xhr poll error] type: 'TransportError', description: 404 }我的代码如下所示:

 requester.GET({target: 'https://slack.com/api/rtm.start'}, [{key: 'token', value: config.token}], function(data) { data = JSON.parse(data) if (data.ok) { let socket = require('socket.io-client')(data.url) socket.on('connect', function(){}) socket.on('event', function(data){}) socket.on('disconnect', function(){}) socket.on('connect_error', function(err) { console.log(err) }) } else { console.log(data) } }) 

requester是我自己写的一个文件,处理简单的HTTP调用,比如GET。 问题是,我使用Slack返回的URL,所以为什么我得到一个代码404? 我究竟做错了什么 ?

我不认为socket.io-client做你想要的…我相信这是一个客户端与服务器,使用socket.io (这是不是)。 我相信socket.io-client在尝试对URL进行HTTP请求。 您应该特别使用WebSocket客户端。 也许试试ws库?