YeaHub Tech
476 subscribers
168 photos
15 videos
2 files
200 links
Новые технологии, советы и обучающие материалы

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#JavaScript #WebSocket #HTTP2

Как работает
WebSocket и HTTP/2 + SSE. Что выбрать?

Современные веб-приложения требуют эффективной и безопасной коммуникации между клиентом и сервером. Среди популярных технологий выделяются WebSocket, HTTP/2 и SSE. Разберем их особенности и поможем определиться с выбором.


✔️WebSocket: быстрые двусторонние соединения

WebSocket обеспечивает двустороннюю связь между браузером и сервером через постоянное соединение.

- Протокол основан на фреймах, что снижает нагрузку на систему.
- Включает механизмы указания размера полезной нагрузки и структуры данных.
- Подходит для приложений, где важна мгновенная передача данных, например, чаты или онлайн-игры.


✔️HTTP/2 + SSE: асинхронные данные и оптимизация

HTTP/2 предоставляет технологию Server Push, позволяющую серверу отправлять данные в клиентский кэш без запроса. SSE (Server-Sent Events) работает через асинхронные однонаправленные соединения:

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


Как выбрать?

Выбор протокола зависит от задач проекта:
- Если нужна двусторонняя связь в реальном времени — используйте WebSocket.
- Для передачи потоковых данных или серверных обновлений с меньшей сложностью — HTTP/2 + SSE.

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

🔗 Источник

👍 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#WebSocket

WebSocket для получения крипто-данных в реальном времени

Проблема: Обычные HTTP-запросы для получения цен криптовалют работают медленно. Пока ваш бот сделает запрос и получит ответ, цена уже может измениться!

Решение: WebSocket — это постоянное соединение с сервером, через которое данные приходят мгновенно при любом изменении цены.


HTTP vs WebSocket
HTTP: Запрос → Ожидание → Ответ → Новый запрос (медленно)
WebSocket: Открыли соединение → Данные льются потоком (быстро)



Где это нужно?
- Торговые боты для криптовалют
- Мониторинг цен акций
- Live-чаты и уведомления
- Торговые терминалы и биржи


Как это работает на практике?

Пример: Создаем бота для мониторинга Bitcoin и Ethereum через CryptoCompare

Шаг 1: Исследуйте сайт
• Откройте DevTools в браузере (F12)
• Найдите вкладку WS (WebSocket)
• Скопируйте URL и сообщения для подключения

Шаг 2: Пишите код
from websocket import create_connection
import json

Подключаемся к серверу CryptoCompare
ws = create_connection('wss://streamer.cryptocompare.com/v2?format=streamer')

Подписываемся на обновления цен
ws.send(json.dumps({"action":"SubAdd","subs":["24~CCCAGG~BTC~USD~H"]}))
ws.send(json.dumps({"action":"SubAdd","subs":["24~CCCAGG~ETH~USD~H"]}))

Получаем данные каждую секунду
while True:
price_data = ws.recv()
print(f"Новые данные: {price_data}")


Результат: Ваш бот получает обновления цен мгновенно, как только они меняются на бирже!


Частые проблемы и решения:

🔸"Connection is already closed"
Причина: Сервер блокирует подключение
Решение: Используйте VPN или прокси

🔸HTTP 401 Unauthorized
Причина: Неправильные заголовки запроса
Решение: Скопируйте заголовки из браузера точно

🔸HTTP 403 Forbidden
Причина: Изменилась система аутентификации
Решение: Обновите логику подключения


Зачем это нужно трейдерам?

Представьте: Bitcoin упал на 5% за 10 секунд. Ваш конкурент с HTTP-запросами узнает об этом через минуту, а ваш WebSocket-бот — мгновенно! Кто быстрее отреагирует на рынке?

Итог: WebSocket дает реальное преимущество в скорости получения данных. Это критично для любых алгоритмических торговых стратегий.


📎 Статья

🎙 Новости

📝 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1