Проблема WSS на AEX

Автор:летучая мышь, Создано: 2020-03-20 20:51:12, Обновлено:

AEX Exchange Я попробовал все методы в документации не могут получить данные с помощью WSS. Полученные данные пусты. Обработка JSON, в основном, я новичок. Документы AEX WSShttps://github.com/aextech/websocket-api-doc/blob/master/README.md


Больше

ТраваЕсли вы посмотрите на учебник внимательно, то увидите множество примеров, и вам понадобится зарубежный хостинг.

Трава/upload/asset/2f6f67e25a076fcecf6.png

ТраваЯ попробую. `` function main (() { var client = Dial (("wss://api.aex.zone/ws/v1"); client.write('{"cmd": {"type": 2}, "type: 1,"pairs: [{ "market": "cnc", "coin": "btc" }]}') while (true) { пока (правда) { var msg = client.read ((() var data = JSON.parse ((msg) // анализирует строки json как объекты, к которым можно ссылаться Log ((data)) // обработка данных {y:bi} {y:bi} ``

ТраваПосмотрите на уроки по продвижению форума, где указано, как подключиться.

ТраваМожно.

летучая мышьПопробуй. data = JSON.parse ((msg)) Я не знаю. Поймать (err) { Log ((err.message)) {y:bi} Это так?

ТраваВы можете попробовать, или вы можете использовать try catch, чтобы вывести ошибочное сообщение.

летучая мышьПрограмма иногда получает ошибку: SyntaxError: invalid json (at offset 1) at main (__FILE__:27) и прерывает По ошибке, данные, полученные на запросе client.read ((), ошибочно не могут быть обработаны JSON. var data = JSON.parse ((msg)) Если (!data) { data = JSON.parse ((msg)) {y:bi}

летучая мышьЯ сделал это так, как вы сказали, и изменил мою прежнюю стратегию REST API на WSS API, и сейчас я работаю, чтобы проверить, стабильно ли это.

ТраваСохранить данные, которые можно понять как словарные структуры (в действительности это объекты)

летучая мышьЯ понимаю, что после того, как мы рассмотрим эти предложения, мы будем присваивать полученные данные данным глобальных переменных, верно?

летучая мышьПростите, я не понимаю, для чего нужно настроить данные глобальных переменных?

ТраваНе так сложно, перед main задать глобальную переменную data = {btc:{buy:0,buyamout:0},eth:{buy:0,buyamout:0}}

летучая мышьfunction main (() { var client = Dial (("wss://api.aex.zone/ws/v1 вызывает воссоединение=правда"); client.write('{"cmd": {"type": 2}, "type: 1,"pairs: [{ "market": "cnc", "coin": "eth" }]}') while (true) { пока (правда) { var msg = client.read (); var data = JSON.parse ((msg)) var type = data.cmd.type if (type === 1) { var CNCBuy = data.bids[0].price var CNCBuyamount = data.bids[0].amount var CNCSell = data.asks[0].price var CNCSellamount = data.asks[0].amount {y:bi} Log ((CNCBuy)) /* невозможно вызвать переменные в разных доменах, и если обратить внимание на несколько пар транзакций, то для фильтрации данных необходимо судить о других условиях. Это связано с последующими логическими решениями в отношении транзакций. {y:bi} {y:bi}

ТраваЕсли вы не знаете, что вы делаете, вы должны знать, что вы делаете, если вы не знаете, что вы делаете, если вы не знаете, что вы делаете.

летучая мышьНевозможно извлечь объект из array bids var bids = data.bids[0] Ошибка TypeError: cannot read property 0 of undefined at main (__FILE__:9) exchange.GetDepth ((); полученные глубинные данные могут быть

летучая мышьОказалось, что так и есть, очень помогло. Спасибо большое. Официальные документы AEX написаны как дерьмо.

летучая мышьЕсли вы хотите, чтобы ваш файл был сжатым, вы должны иметь в виду, что он не будет сжатым, или что он не будет сжатым. function main (() { var client = Dial (("wss://api.aex.zone/ws/v1") var msg = client.read ((() //var data = JSON.parse ((msg)) Log (клиент) Log (((msg) //Log (data) {y:bi} Ошибка при обработке JSON.parse для клиента в виде пустого msg в {}

летучая мышьВ этом случае логин будет либо пустым, либо не будет никаких глубинных данных, и в документации не говорится о сжатии данных.

ТраваНе стоит ли обращать внимание на торговые пары?

ТраваПроверьте, нет ли обновлений.

летучая мышьВы можете отправить запрос, но Deep Data не нуждается в отправке данных, потому что ссылка в документе возвращает глубокие данные.

летучая мышьЯ попробовал все другие команды отправки по инструкциям и документации, но я не знаю, как это сделать, чтобы получить глубокие данные без отправки команд.

ТраваВы отправили запрос?

летучая мышьЯ видел, что другие биржи могут соединяться и получать возвращаемые данные с помощью Dial, AEX может соединяться, но возвращаемые данные пусты и не могут быть обработаны с помощью JSON.