home.social

#websocket — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #websocket, aggregated by home.social.

fetched live
  1. HTML over WebSockets: real-time SPAs with barely any JavaScript

    Building a SPA (Single-page Application) is a complex puzzle: a JavaScript framework that draws the view, an API serving JSON, and 2 independent codebases forced to understand each other through contracts. It is an accepted, professionalized scenario. […]
    — by @andros

    🧑‍💻 en.andros.dev/blog/ef4968f5/ht

    #javascript #websocket #html #webdev #spa #api #json #webdev #frontend #web #barely

  2. HTML over WebSockets: real-time SPAs with barely any JavaScript

    Building a SPA (Single-page Application) is a complex puzzle: a JavaScript framework that draws the view, an API serving JSON, and 2 independent codebases forced to understand each other through contracts. It is an accepted, professionalized scenario. […]
    — by @andros

    🧑‍💻 en.andros.dev/blog/ef4968f5/ht

    #javascript #websocket #html #webdev #spa #api #json #webdev #frontend #web #barely

  3. Реалтайм на WebSocket со сквозной типизацией: TypeScript, Bun, React, Point0

    Бывает так: есть фулстек проект, и в нём всё хорошо. Откуда-то есть сквозные типы (tRPC, генерация из OpenAPI), есть авторизация, есть основной функционал. А потом вы решаете добавить реалтайм: уведомление о новом посте в ленте, чат между пользователями, интерактивную доску. И появляется целый новый слой абстракций, в котором надо заново изобрести всё, что в проекте уже есть, только на новый лад. И дальше поддерживать две разные системы. В своём фреймворке Point0 я добавил четыре новых реалтайм-поинта (структурные единицы наравне со страницами, лэйаутами, квери, мутациями): канал, спейс, клиентский хэндлер, серверный хэндлер. На них собирается практически любая реалтайм-функциональность, кода получается мало, и читается он интуитивно. Эти поинты несут те же свойства, что и все остальные: код сервера и клиента живут в одном файле, компилятор вырезает клиентский код из серверной сборки, а серверный из клиентской типизация сквозная и выводится из дженериков самого фреймворка, без генерации типов Под катом покажу на примерах, как это работает, и объясню суть парадигмы, чтобы вы могли собрать любое реалтайм-приложение.

    habr.com/ru/articles/1069716/

    #react #typescript #nodejs #point0 #bun #websocket #webdevelopment #realtime #fullstack

  4. Каталог ассетов и git для MMO: как командой вести игру в облаке — создание сервера для онлайн ММО игр на PHP, ч. 19

    Над одной игрой работает команда: люди правят контент в браузере, ИИ — через тот же сервис, локально разворачивать ничего не нужно. Каждый ассет живёт своим git-репозиторием: это и бэкап, и способ собрать игру из готовых анимаций, карт и библиотек — а перед тем как правки уедут в мир, видно построчно, что именно уйдёт.

    habr.com/ru/articles/1067534/

    #php #symfony #unity #c# #mmo #mmorpg #ai #mcp #websocket

  5. 🐙 Mininglamp-OSS/octo-server

    Exposes REST and WebSocket APIs managing AI agents and real-time messaging for an open workplace platform.

    ⭐ Stars: 474
    📅 Last Update: Aug 04, 2026

    github.com/Mininglamp-OSS/octo

    #selfhosted #homelab #selfhost #selfhosting #opensource #go #websocket

  6. Интеграция Asterisk с веб‑интерфейсом и управление звонками через WebSocket: кейс имплементации под ключ

    Привет! Меня зовут Андрей Нелюбин, я руководитель функции фронтенд-разработки. В рамках проекта для заказчика требовалось доработать сценарий работы колл-центра: связать телефонию на Asterisk с операторским интерфейсом, где рядом со звонком доступны данные клиента, заказы, статусы и действия управления. Для этого в 2022 году была реализована собственная прослойка поверх Asterisk: backend на Python/Django, обработка событий через Django Channels, WebSocket для передачи изменений в интерфейс и frontend на Vue. В статье расскажу, как устроили архитектуру решения, как обрабатывали события звонков, зачем понадобился BFF-слой на Django и почему в рабочей конфигурации аудио осталось в SIP-клиенте, а контекст и управление — в операторском интерфейсе

    habr.com/ru/companies/gri/arti

    #Asterisk_rest_interface #asterisk #django #django_channels #python #websocket #sip #операторский_интерфейс

  7. Когда 1С выдерживает тесты, но падает в проде: как проверить систему под реальной нагрузкой

    На тестовом стенде система может работать стабильно, а после запуска начать замедляться при одновременной работе пользователей, фоновых заданиях и интенсивном обмене данными. Нагрузочное тестирование помогает найти такой предел заранее — до того, как узкие места превратятся в простой критичной системы. Курс «

    habr.com/ru/companies/infostar

    # #нагрузочное_тестирование #HighLoad #производительность_1С #JMeter #корпоративные_системы #тестирование_производительности #WebSocket #масштабирование

  8. ч. 18 — ИИ + человек создают 2D анимации для онлайн игр с доставкой до клиента

    Уже 18 частей с 2022 года я веду дневник разработки авторитарного сервера для 2D MMO RPG — игры с открытым бесшовным миром, где сотни игроков и существ живут в реальном времени. В прошлой части ИИ впервые получил «руки»: начал собирать игровую механику из одного текстового описания. Оставалась витрина, которую я обещал, — как в эту игру попадают анимированные персонажи. Об этом — восемнадцатая часть.

    habr.com/ru/articles/1060484/

    #php #symfony #unity #c# #mmo #mmorpg #ai #mcp #websocket

  9. От стримов к вебсокетам: как я боролся с буферизацией и наконец победил

    Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ

    habr.com/ru/companies/beeline_

    #spring_ai #spring_boot #java #websocket #stomp #serversent_events #sse #ollama #llm #typescript

  10. 🔌 The Bridge makes a single outbound #WebSocket connection — no inbound ports, no VPN, no firewall rules. Works behind #NAT, inside #Docker, on headless servers. Your code and workspaces never leave your machine

  11. 🔌 The Bridge makes a single outbound #WebSocket connection — no inbound ports, no VPN, no firewall rules. Works behind #NAT, inside #Docker, on headless servers. Your code and workspaces never leave your machine

  12. Как правильно писать WebSocket API автотесты на Python

    На примере FastAPI-чата показываю, как выстроить автотесты для API с двумя транспортами: REST используется для подготовки состояния, WebSocket — для проверки событий. В статье разбираем архитектуру тестов на Python: клиенты, фикстуры, Pydantic-схемы, контрактные проверки, Allure и CI/CD.

    habr.com/ru/articles/1027960/

    #qa #qa_automation #python #websocket #websocket_api #автотесты #автотестирование #лучшие_практики #cicd #allure

  13. Realtime-чат без WebSocket: long-polling, гонки переподключения и дубли пушей

    Бывает, что realtime на проекте уже нужен, а WebSocket по каким-то причинам нет. Остаётся long-polling: клиент шлёт «бесконечный» HTTP-запрос, сервер держит его, пока не появятся новые сообщения, отвечает - и клиент тут же открывает следующий. Звучит просто, ровно до первого запуска на живом устройстве где-нибудь в метро. Дальше начинается то, ради чего и написана статья: гонки при переподключении, дубли локальных пушей и два независимых потока сообщений в одном ответе. Разбираю на примере реального iOS-сервиса, который я разрабатывал более 5 лет

    habr.com/ru/articles/1051340/

    #longpolling #Comet #realtime #WebSocket #race_condition #exponential_backoff #jitter #pushуведомления #GCD

  14. Как reload ingress-nginx уронил прод. История про pids.max, threads-max и виртуалку, которая подросла

    Схема входящего траффика в кластер Kubernetes простая: web → Envoy Gateway → Ingress Nginx → backend . За Ingress Nginx, помимо обычного HTTP, живут долгоживущие WebSocket-соединения. Штатная нагрузка - около 100 RPS. Ничего экзотического. В один прекрасный день всё в кластере легло. Клиенты получают 503/500. В логах Envoy - флаг UF и upstream_reset_before_response_started{connection_timeout} . То есть ingress-nginx просто перестал отвечать. Дальше - два часа разбора и довольно красивая цепочка причин, которая началась с банального reload, а закончилась на том, как ядро считает лимит потоков при старте виртуалки.

    habr.com/ru/articles/1050478/

    #kubernetes #ingressnginx #postmortem #threadsmax #pidsmax #systemd #websocket #sre

  15. Nostr — бэкенд «из коробки»: где подходит, а где нет

    Готовый децентрализованный бэкенд без своего сервера — звучит заманчиво. На личном опыте двух приложений разбираю, где Nostr реально экономит месяцы работы, а где упирается в одно базовое ограничение и начинает мешать: заметки, чаты, ленты, communities, организации.

    habr.com/ru/articles/1050348/

    #Nostr #децентрализация #децентрализованные_сети #бэкенд #endtoend_шифрование #протоколы #мессенджеры #социальные_сети #криптография #WebSocket

  16. Как я реализовал передачу диалога из ИИ-консультанта сайта в MAX

    Представьте: клиент зашел на сайт в полночь. Менеджер спит. Утром клиент уже забыл о вас и купил у конкурента. Обычный чат-бот не спасает: он либо тупой, либо безумно дорогой, либо хранит данные за океаном. Я создал решение, которое решает эту проблему раз и навсегда.

    habr.com/ru/articles/1045412/

    #AI #чатботы #MAX #Python #FastAPI #WebSocket #multitenancy

  17. WebSocket на C++11 и Rust: сравнительный анализ библиотек и двух реализаций одного протокола

    WebSocket — один из самых распространенных транспортов для обмена данными в реальном времени: чаты, биржевые котировки, игровые серверы, IoT. На практике выбор библиотеки редко сводится к вопросу «кто быстрее парсит заголовок фрейма». Важнее сочетание совместимости со старым набором инструментов сборки, поддержки TLS, сжатия per-message-deflate, модели асинхронности или блокировки, размера бинарника и способа обработки ошибок.

    habr.com/ru/articles/1044686/

    #C++ #Rust #WebSocket #сетевое_программирование #бенчмарки

  18. Создание сервера для онлайн ММО игр на PHP ч. 17 — внедряю ИИ: механики из одного описания

    Несколько лет я в одиночку пишу сервер для своей 2D MMO RPG. Эта часть — про то, как изменился сам процесс разработки: игровую фичу я по-прежнему придумываю сам, а реализую её уже не один. Это не демо в духе «модель выдала сниппет». Внутри — настоящая 2D MMO RPG: авторитарный сервер реального времени, тайловые карты, клиент на Unity. ИИ не создал эту систему, а ускорил: то, что раньше занимало дни и недели, теперь укладывается в часы и дни, и в одиночку я держу темп целой команды. Расскажу по порядку, как я к этому пришёл и где у подхода честная граница.

    habr.com/ru/articles/1044640/

    #php #symfony #unity #c# #mmo #mmorpg #ai #mcp #websocket

  19. Ten years ago, I built a #WebSocket server using nothing but #UNIX shell and #BusyBox tools. 🛠️

    Looking back at `websocket.sh` today, it's just a fun, interesting project that shows how far you can stretch basic tools.

    Read the original post: meefik.dev/2016/08/04/websocke

    #Linux #Bash #Coding #Throwback

  20. Ten years ago, I built a #WebSocket server using nothing but #UNIX shell and #BusyBox tools. 🛠️

    Looking back at `websocket.sh` today, it's just a fun, interesting project that shows how far you can stretch basic tools.

    Read the original post: meefik.dev/2016/08/04/websocke

    #Linux #Bash #Coding #Throwback

  21. @number6 @aboutsignal @mollyim

    The main difference for me has been that Molly supports #UnifiedPush. I don't know if Signal's use of #WebSocket is better or not.

  22. @number6 @aboutsignal @mollyim

    The main difference for me has been that Molly supports #UnifiedPush. I don't know if Signal's use of #WebSocket is better or not.

  23. 𝗚𝗼𝘁𝗶𝗳𝘆:

    #Go #Messager #Websocket #Gotify

    thewhale.cc/posts/gotify

    Gotify is a simple server for sending and receiving messages. You can send messages via a REST-API, subscribe/receive messages via a web socket connection and manage users, clients and applications.

  24. GitLab hat eine kritische WebSocket‑Schwachstelle geschlossen und insgesamt zwölf Sicherheitslücken gepatcht.

    - Die WebSocket‑Lücke galt als besonders gefährlich, weil sie Remote‑Code‑Ausführung ermöglichte.
    - Der Patch reduziert das Risiko für alle GitLab‑Instanzen, egal ob selbst‑gehostet oder SaaS.

    #OpenSource #Security #WebSocket #GitLab #Privacy

    🔗 news.google.com/rss/articles/C

  25. GitLab hat eine kritische WebSocket‑Schwachstelle geschlossen und insgesamt zwölf Sicherheitslücken gepatcht.

    - Die WebSocket‑Lücke galt als besonders gefährlich, weil sie Remote‑Code‑Ausführung ermöglichte.
    - Der Patch reduziert das Risiko für alle GitLab‑Instanzen, egal ob selbst‑gehostet oder SaaS.

    #OpenSource #Security #WebSocket #GitLab #Privacy

    🔗 news.google.com/rss/articles/C

  26. Reactive Programming не спасёт вас. Если вы не решили эти 5 проблем — у вас просто медленный монолит с Flux

    Нагрузочный тест. 10 000 событий в секунду, три инстанса сервиса, Spring WebFlux, Project Reactor — всё как по учебнику. Смотрю на метрики. Event loop завис на 800 миллисекунд. В хранилище — данные за более позднее время перезаписаны более ранними. WebSocket-сессия потеряла сообщения под нагрузкой. Два из трёх инстансов не получают события. Код написан на WebFlux. Но реактивности в нём не было. Я строил сервис потоковой доставки данных в реальном времени: тысячи источников → обработка → тысячи WebSocket-подписчиков. Каждая из пяти проблем ниже была невидима на демо. Каждая проявилась под нагрузкой. И каждая из них — не баг фреймворка. Это паттерны которые нужно знать заранее. Узнать личный опыт

    habr.com/ru/articles/1039618/

    #webflux #websocket #java #latency #deadlocks #race_condition #flux #redis #kafka_apache #async

  27. Probe-сеть из 10 регионов: что я не учёл про AS-разнесённость

    Я делаю Valpero — uptime-мониторинг с проверками из 10 регионов мира. Когда я только собирал probe-сеть, я был уверен, что 10 географических точек это автоматически и 10 точек отказа. Открыл недавно AS-картину своего же парка — и обнаружил, что из 10 узлов у меня реально 4 разных автономных системы. 7 из 10 probe сидят на одном и том же AS209847. Ниже расскажу о том, как сейчас выглядит сеть, какие провайдеры реально стоят, как я измерял AS-разнесённость, и что я планирую с этим делать. В конце таблица с IP-адресами всех узлов и их AS — повторить расклад на своём проекте можно за вечер. Что не так с моими 10 регионами

    habr.com/ru/articles/1035620/

    #мониторинг #uptime #BGP #AS #autonomous_system #probe #latency #WebSocket #инфраструктура #false_positive

  28. Архитектура Laravel + Centrifugo: кто за что отвечает в real-time системе

    В первой части мы разобрались, что Real-time на Laravel-сайте нужен там, где интерфейс должен получать изменения без перезагрузки страницы: новые уведомления, смену статуса заказа, сообщения в чате, обновления виджетов, события в административной панели. Для таких задач классическая модель HTTP-запроса уже недостаточна, а polling создаёт лишнюю нагрузку на backend. Один из практичных вариантов решения — использовать Centrifugo как отдельный WebSocket-сервер рядом с Laravel-приложением. В этой статье разберём архитектуру Laravel + Centrifugo: за что отвечает Laravel, какую роль выполняет Centrifugo, как frontend подключается к real-time каналу и как выглядит типовой сценарий публикации события, например при изменении статуса заказа.

    habr.com/ru/articles/1035046/

    #realtime #архитектура #laravel #centrifugo #websocket

  29. Production-стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит

    Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений , E2E , WebRTC звонки , Electron , outbox-паттерн . Параллельно про AI-агента Лиру и мнение про вайб-кодинг . Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19603 строки , 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push-нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит. В статье разберу почему стек именно такой, какие решения оказались правильными, какие я бы поменял если бы начинал сейчас, и где у этого подхода границы применимости. Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло-разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.

    habr.com/ru/articles/1034814/

    #fastapi #sqlite #python #монолит #websocket #мессенджер #бэкенд #продакшн #авторизация #миграции

  30. has launched a -based execution mode for its Responses API to improve the performance of agentic workflows used in coding agents and real-time AI systems.

    The Impact: early production use shows up to 40% latency reduction and improved throughput in high-concurrency scenarios.

    Learn more: bit.ly/3Pg3ZuS

  31. 🔍 Advanced #RAG strategies: hybrid search,
    contextual embeddings & result reranking for precise knowledge retrieval

    🤖 Multi-LLM support: works with #OpenAI, #Ollama & #GoogleGemini — fully configurable via the UI onboarding flow

    📋 Hierarchical project & task management: AI-assisted creation of requirements, features
    and tasks with progress tracking

    🔄 Real-time collaboration via #WebSocket: live updates for crawling, processing & AI ops with multi-user support

  32. GitLab schließt hochgefährliche WebSocket-Lücke – 12 Sicherheitslücken behoben

    Selbstverwaltete Instanzen sollten umgehend aktualisiert werden – GitLab.com ist bereits auf dem neuesten Stand, Kunden von GitLab Dedicated müssen nicht tätig werden.

    all-about-security.de/gitlab-s

    #gitlab #vulnerability #WebSocket

  33. I am working with some #embedded #esp32 #websocket for #ClassQuiz. It took me hours why the websocket connection would seemingly random collapse. Now I figured it out after debugging for hours:

    I configured a timeout for the network socket on the esp32. At least I found it after setting up Wireshark and later #mitmproxy with custom CA certificates... What gave me the final hint were the exact 2 seconds between the websocket opening and closing.

    #embedded #rust

  34. Every 15 minutes, your email client asks: 'Any new mail?'

    That is how IMAP works. Polling. Wasting battery. Missing urgent emails.

    Nubo.Email uses JMAP push:
    → Server notifies client instantly
    → WebSocket connection stays open
    → Zero polling, zero delay
    → Better battery life

    Email should arrive like a message, not a newspaper.
    #email #realtime #websocket #technology #jmap

  35. #AIagents now have their own space-based #MMO called #SpaceMolt, designed exclusively for artificial intelligence. The game lets AI agents connect via #MCP, #WebSocket, or #HTTPAPI to mine asteroids, trade, explore, form factions, and engage in simulated combat across 505 star systems. Humans are reduced to spectators watching AI play with itself. arstechnica.com/ai/2026/02/aft #tech #media #news