Я пытаюсь сделать список наблюдения для тикеров криптовалюты. Вы вводите тикер, добавляете его, и он покажет вам цены в реальном времени в табличном формате.
Мой первый шаг - попытаться установить рукопожатие с помощью API-интерфейса Kraken (документация здесь: https://www.kraken.com/features/websocket-api#connectionDetails)
Мой запрос: На данный моментвсе, что я хочу сделать, - это иметь возможность вести консольный журнал «успешное соединение», когда я подключаюсь к API веб-сокета от Kraken (криптообмен). Я пытаюсь сделать это через часть ниже ( scrollвплоть до просмотра всего кода )
socket.onopen = function(event) {
socketStatus.innerHTML = 'Connected to: ' + event.currentTarget.url;
socketStatus.className = 'open';
};
У меня есть файл index.html и файл app.js. Когда я открываю файл index.html в chrome, Я получаю сообщение об ошибке:
app.js: 5 Сбой подключения WebSocket к «ws: //ws-sandbox.kraken.com/»: Ошибка при рукопожатии WebSocket: Неожиданный код ответа: 521
Я пытался использовать только эту строку кода для вещей, связанных с веб-сокетами
var socket = new WebSocket('ws://ws-sandbox.kraken.com')
Я также пытался использовать метод get, приведенный в примерах здесь https://medium.freecodecamp.org/here-is-the-most-popular-ways-to-make-an-http-request-in-javascript-954ce8c95aaa
$.get('ws://ws-sandbox.kraken.com',function(data){console.log(`${data}`)})
в моем файле app.js, мой вопрос, кроме строки ниже, что еще мне нужно для успехассалому делать рукопожатие?Нужно ли отправлять запрос GET с информацией заголовка (см. Самый конец)?
var socket = new WebSocket('ws://ws-sandbox.kraken.com')
в документации вы увидите подробности подключения.Детали подключения для среды песочницы.URL-адрес ws-sandbox.kraken.com ссылка: https://www.kraken.com/features/websocket-api#connectionDetails
Я следовал примеру здесь: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
ПОЛУЧИТЬ ЗАПРОС ВОПРОСА: Я просматривал этот сайт какпример: https://blog.teamtreehouse.com/an-introduction-to-websockets
и он сказал, что мне нужно отправить HTTP-запрос на сервер, используя что-то похожее на это.Я просто не уверен, требуется ли это для того, что я пытаюсь сделать.
GET ws://websocket.example.com/ HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket
КОД В ФАЙЛЕ APP.JS
$(document).ready(function(){ console.log('page ready')
var socket = new WebSocket('ws://ws-sandbox.kraken.com')
$.get('ws://ws-sandbox.kraken.com',function(data){console.log(`${data}`)})
var form = document.getElementById('message-form');
var messageField = document.getElementById('message');
var messagesList = document.getElementById('messages');
var socketStatus = document.getElementById('status');
var closeBtn = document.getElementById('close');
socket.onopen = function(event) { //LOGGING SUCCESSFUL CONNECTION HERE
socketStatus.innerHTML = 'Connected to: ' + event.currentTarget.url;
socketStatus.className = 'open';
};
})