2016-05-13 5 views
2

スラックからRTM APIに接続しようとすると、私は奇妙なエラーが発生します。スラックのRTM APIへのwebsocket接続の場合

私はノードに単純なボットを実装していますが、私はsocket.ioを使ってWebソケット接続を処理しています。

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私はここでGETのように、単純なHTTP呼び出しを扱う、自分自身を書いたファイルは次のとおりです。しかし、それは常に{ [Error: xhr poll error] type: 'TransportError', description: 404 } 私のコードは次のようなエラーがスローされます。 問題は、私が取得した瞬間にSlackによって返されたURLを使用しています。なぜコード404が表示されますか?私は間違って何をしていますか?

答えて

2

私はあなたが望むものをsocket.io-clientとは思わない...それはsocket.io(スラックではない)を使っているサーバと話すクライアントだと信じています。 socket.io-clientがURLにHTTPリクエストを作成しようとしていると思います。具体的には、WebSocketクライアントを使用する必要があります。たぶんwsライブラリをお試しください。

関連する問題