Websocket

Простейшие вопросы в области инженерной разработки
Ответить
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Websocket

Сообщение rushonda »

Добрый день. Подскажите, чего не хватает в коде?
Используемая библиотека: https://www.mediamongrels.com/labview-websockets-api/
Если кто сможет проверить, токен скину
test big data.vi
(14.03 КБ) 79 скачиваний
websoket.png
package main

import (
"flag"
"log"
"net/http"

"github.com/gorilla/websocket"
)

var addr = flag.String("addr", "wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws", "http service address")
var token = flag.String("token", "", "API token")

func main() {
flag.Parse()

c, _, err := websocket.DefaultDialer.Dial(*addr, http.Header{"Authorization": {"Bearer " + *token}})
if err != nil {
log.Fatal("dial:", err)
}
defer c.Close()

go func() {
for {
_, message, err := c.ReadMessage()
if err != nil {
log.Println("read: ", err)
return
}
log.Printf("recv: %s\n", message)
}
}()

const sub = `{"event": "orderbook:subscribe", "figi": "BBG0013HGFT4", "depth": 10}`
err = c.WriteMessage(websocket.TextMessage, []byte(sub))
if err != nil {
log.Println("write: ", err)
return
Попытка такое реализовать примерно
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Websocket

Сообщение toshas »

скидывайте

есть увереность, что сайт wss будет работать по ws ?
если там настоящий wss нужна добавка для websocket библиотеки https://github.com/MediaMongrels-Ltd/La ... kets-Addon
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Websocket

Сообщение dadreamer »

toshas писал(а): 19 май 2021, 10:14есть увереность, что сайт wss будет работать по ws ?
если там настоящий wss нужна добавка для websocket библиотеки https://github.com/MediaMongrels-Ltd/La ... kets-Addon
Да, там в итоге это понадобилось. В ЛС автор сообщил, что у него всё заработало. :)
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Websocket

Сообщение toshas »

Отлично!

Было бы здорово, если автор поделится финальным кодом с форумом.
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Websocket

Сообщение rushonda »

В итоге получилось примерно так.
Версия LV=20. Если нужна ниже, пересохраню.
В нагруженные моменты (16.30 например), сервер сбрасывает соединение ввиду большого объема данных, нужно сразу повторно инициализироваться...
p.s. Большое спасибо dadreamer, без него бы не разобрался!!!
Вложения
wss.vi
(42.38 КБ) 85 скачиваний
sermyan
interested
interested
Сообщения: 4
Зарегистрирован: 08 июл 2022, 01:27
Версия LabVIEW: 2019
Контактная информация:

Re: Websocket

Сообщение sermyan »

Для версии 2019 есть возможность пересохранить?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Websocket

Сообщение dadreamer »

 
Вложения
wss.vi
lv2019
(24.41 КБ) 35 скачиваний
sermyan
interested
interested
Сообщения: 4
Зарегистрирован: 08 июл 2022, 01:27
Версия LabVIEW: 2019
Контактная информация:

Re: Websocket

Сообщение sermyan »

На другой машине пробовал запустить на 2021. Выдает ошибку. Что не так?
Вложения
01.jpg
02.jpg
03.jpg
04_остановка выполнения на этом блоке.png
04_остановка выполнения на этом блоке.png (12.6 КБ) 1393 просмотра
warnings.txt
(655 байт) 42 скачивания
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Websocket

Сообщение dadreamer »

По ворнингу только могу сказать. Тулкит WebSockets Secure Addon нужно установить в \LabVIEW 20xx\vi.lib\, сейчас тянет из C:\LabVIEW. Проще всего его поставить через VI Package Manager (VIPM), посмотрите в Пуске. Хотя, скорее всего, это не причина ошибки.
sermyan
interested
interested
Сообщения: 4
Зарегистрирован: 08 июл 2022, 01:27
Версия LabVIEW: 2019
Контактная информация:

Re: Websocket

Сообщение sermyan »

Проверил предложенные варианты. Нет, дело не в этом. Ошибка не уходит.
Вложения
Снимок экрана (5).png
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Websocket

Сообщение Kosist »

Сейчас на выходе другая ошибка - invalid url. Ссылка на ресурс точно правильная?
Мы делили апельсин - много наших полегло...
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Websocket

Сообщение rushonda »

Да, с недавнего времени они что-то поменяли в протоколе и перестало работать, хотя до этого все работало, ничего не менял. Пока не разбирался, но собираюсь. Сайт тоже поменялся
sermyan
interested
interested
Сообщения: 4
Зарегистрирован: 08 июл 2022, 01:27
Версия LabVIEW: 2019
Контактная информация:

Re: Websocket

Сообщение sermyan »

На неделе будет возможность запустить на 2020.
Предварительно:
для dadreamer - на 2019 ту часть плагина, которая "WebSockets Secure Addon.vipb" программа воспринимать отказывается. Пишет, что это для 2020
для Kosist - ошибку URL тоже срисовал (Ваш довод считаю обоснованным) и думаю, что "рукопожатия" не происходит по причине его изменения. Проверю.
P.S. на 2021 до уровня, когда "ошибка" (неверный URL) появляется не при загрузке, а только после запуска программы, исчезла после установки варианта "LabVIEW-Secure-WebSockets-Addon-1.0.0.2-beta" (изначально был поставлен "LabVIEW-Secure-WebSockets-Addon-master")
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»