2016-05-13 4 views
2

Ich habe den seltsamsten Fehler beim Versuch, eine Verbindung zur RTM-API von Slack herzustellen.404 auf Websocket-Verbindung zu Slacks RTM-API

Ich bin ein einfacher Bot in Knoten implementieren, und ich verwende socket.io, um die Web-Socket-Verbindung zu behandeln. Allerdings wirft es immer den Fehler { [Error: xhr poll error] type: 'TransportError', description: 404 } Mein Code sieht wie folgt aus:

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 ist eine Datei, die ich selbst geschrieben habe, einfache HTTP Handhabung von Anrufen, wie hier. Die Sache ist, ich verwende die URL von Slack zurückgegeben, sobald ich es bekomme, also warum bekomme ich einen Code 404? Was mache ich falsch ?

Antwort

2

Ich glaube nicht, socket.io-client macht was Sie wollen ... Ich glaube, es ist ein Client mit einem Server zu sprechen, der socket.io verwendet (was Slack ist nicht). Ich glaube, socket.io-client versucht, eine HTTP-Anfrage an die URL zu machen. Sie sollten speziell einen WebSocket-Client verwenden. Vielleicht versuchen Sie die ws Bibliothek?