在与Slack的RTM API的websocket连接上的404

时间:2016-05-13 17:36:53

标签: node.js socket.io slack

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

我在节点中实现了一个简单的bot,我使用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?我做错了什么?

1 个答案:

答案 0 :(得分:2)

我不认为socket.io-client做你想要的......我相信这是一个与使用socket.io(Slack不是)的服务器交谈的客户端。我相信socket.io-client正在尝试向URL发出HTTP请求。您应该专门使用WebSocket客户端。也许试试ws库?