与 Slack 的 RTM 的 websocket 连接上的 404 API
404 on websocket connection to Slack's RTM API
我在尝试从 Slack 连接到 RTM API 时遇到最奇怪的错误。
我正在节点中实现一个简单的机器人,我正在使用 socket.io 来处理网络套接字连接。但是,它总是抛出错误 { [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
的服务器对话(Slack 不是)。我相信 socket.io-client
正在尝试向 URL 发出 HTTP 请求。您应该专门使用 WebSocket 客户端。也许试试 ws 库?
我在尝试从 Slack 连接到 RTM API 时遇到最奇怪的错误。
我正在节点中实现一个简单的机器人,我正在使用 socket.io 来处理网络套接字连接。但是,它总是抛出错误 { [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
的服务器对话(Slack 不是)。我相信 socket.io-client
正在尝试向 URL 发出 HTTP 请求。您应该专门使用 WebSocket 客户端。也许试试 ws 库?