Невозможно получить данные сокета через binance Websockets

Это моя клиентская база кода. Он работает с одним из обменных веб-сокетов, но не работает с этим веб-сокетом. Какие-либо предложения?

Ссылка на веб-сокет: https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md

import React, { Component, createContext } from "react";

export const Contx = createContext();

export class ConProvider extends Component {
  state = {
    coins: [],
    digCoin: [],
    sou: [],
    passSocket: undefined
  };

  componentDidMount() {
    this.socketCall();  
  }

  socketCall = () => {
    var ws = new WebSocket("wss://stream.binance.com:9443");
    var msg = {
      "method": "SUBSCRIBE",
      "params": "btcusdt@depth",
      "id": 1
    };

    ws.onopen = () => {
      ws.send(msg);
    };

    ws.onmessage = e => {
      const value = e.data;
      this.setState({
        coins: value
      });
    };

    this.setState({
      passSocket: ws
    });
  };

  socketClose = () => {
    var wss = this.state.passSocket;
    wss.close();
  };

  render() {
    console.log(this.state.coins);

    // console.log(this.state.coins)
    return (
      <Contx.Provider
        value={{
          ...this.state,
          socketCall: this.socketCall,
          socketClose: this.socketClose
        }}
      >
        {this.props.children}
      </Contx.Provider>
    );
  }
}

person debo karmakar    schedule 22.01.2020    source источник


Ответы (2)


const ws = new WebSocket('wss://stream.binance.com:9443/ws');
const msg = {
  method: 'SUBSCRIBE',
  params: ['btcusdt@depth'],
  id: 1,
};

ws.onopen = () => {
  ws.send(JSON.stringify(msg));
};

Send принимает формат JSON, я изменил msg на object, передал массив params и добавил / ws, как упоминалось выше.

person Mikhail Vyuzhanin    schedule 29.03.2020
comment
Понятно. Спасибо - person debo karmakar; 30.03.2020

Попробуйте с

var ws = new WebSocket("wss://stream.binance.com:9443/ws");
person guest    schedule 19.03.2020