Я пытаюсь использовать socket.io для подключения к этому websocket api:
https://www.cryptocompare.com/api/#-api-web-socket-
(WSS: //streamer.cryptocompare.com)
Полагаю, я не очень хорошо понимаю socket.io.
Я создал пустой HTML-документ:
<!doctype html>
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.slim.js"></script>
</head>
<body>
<div id="data-show">
</div>
<button id="connect-sock">Connect</button>
<button id="disconnect-sock">DISConnect</button>
</body>
<script src="index.js"></script>
</html>
index.js:
var socket = io('wss://streamer.cryptocompare.com')
console.log('connected')
var btn = document.getElementById('connect-sock')
var btn2 = document.getElementById('disconnect-sock')
var show = document.getElementById('data-show')
//I also tried adding an event listener to a button so when i clicked it, it would do this:
socket.emit('SubAdd', { subs: ['0~Poloniex~BTC~USD'] } )
//Same result of nothing.
socket.on('SubAdd', function(data){
console.log(data)
})
server.js:
var express = require('express')
var socket = require('socket.io')
var app = express()
var server = app.listen(4000, function(){
console.log("well met")
})
app.use(express.static('public'))
var io = socket(server)
io.on('connection', function(socket){
console.log('well met from socket connection', socket.id)
})
server.js находится в файле с именем 'socket-test'. index.html и index.js находятся в 'socket-test / public /'
, поэтому по какой-то причине в server.js socket.id не будет входить в консоль. как будто эта функция пропускается. но когда я изменяю адрес в index.js на http://localhost:4000,, я получаю socket.id в консоли ... не уверен, что там происходит.
Редактировать: Я редко получаю идентификатор сокета при использовании wss: //streamer.cryptocompare.com/, иногда да, в большинстве случаев я этого не делаю. Обычно это работает, когда я переключаюсь на localhost, запускаю сервер, останавливаю сервер, затем переключаюсь обратно на стример, но если я перезагружаюсь, я больше не получаю socket.id.
Я подумал, что все, что я просил, чтобы это было здесь, - это отправка subs в wss: //streamer.cryptocompare, а затем console.log (data), который он возвращает после генерации sub.
я что-то здесь упускаю?
Извините, если очевидно, что я что-то упустил. Я знаю о socket.io только 3 дня, и только сегодня я просмотрел базовое руководство по YouTube.