【问题标题】:Connect to a third party server (twelvedata) from my own express server through web socket connection string通过网络套接字连接字符串从我自己的快递服务器连接到第三方服务器(twelvedata)
【发布时间】:2022-11-25 03:59:49
【问题描述】:

我想通过它提供的套接字连接连接到twelevedata服务器来接收信息。


import * as dotenv from 'dotenv' 
import WebSocket from 'ws';
import express from 'express'

const app = express();

//setting up env
dotenv.config()

// setting up the websocket
const ws = new WebSocket(`wss://ws.twelvedata.com/v1/quotes/price?apikey=${process.env.API_KEY_TWELVEDATA}`);


const payload = {
  "action": "subscribe",
  "params": {
  "symbols": "AAPL,INFY,TRP,QQQ,IXIC,EUR/USD,USD/JPY,BTC/USD,ETH/BTC"
  },
}




ws.on('connection',function (steam) {

  ws.on('open', (data) => {
    console.log("data ==>",data);
    ws.emit('subscribe',payload)
  })
    
  ws.on('subscribe', (data) => {
    console.log("data ==>",data);
  })
})

const port = process.env.PORT || 5000;
app.listen(port, () => {
  console.log(`I am listening at ${port}`);
});

我在一个快速应用程序上用我的 websocket 连接创建了一个 websocket,但我无法从 twelvedata 服务器接收到关于我发出的 subscribe 事件的任何信息!

这是 websocket 应该如何工作,如twelvedata 网站所示(查看屏幕截图)

我无法连接并发出 twelvedata's documentation 给出的 subscribe 事件

【问题讨论】:

    标签: node.js express websocket ws twelvedata


    【解决方案1】:

    您不希望来自 websocket 的 emit 事件(这是您想要在本地处理的事件),而是 send,即替换

    ws.emit('subscribe',payload)
    

    ws.send(payload)
    

    【讨论】:

      猜你喜欢
      • 2012-03-28
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-05
      相关资源
      最近更新 更多