#WebSocket

2025-05-20

Почему я ушёл с VK Play и сделал все механики и лаунчер с нуля для моей Battle Royale игры на Unreal Engine 5 в 15 лет

Когда я только начал делать игру в жанре battle royale , я сразу хотел, чтобы это была не просто "игра для себя", а что-то реальное — с возможностью выложить, показать другим, и может даже зарабатывать. Ранее я уже пытался делать игры, но это были проекты которые через 2-3 дня либо лежали в корзине либо пылились в папке забытыми. Но с этим я решил идти по полной и до конца. Во время начала разработки я сразу посмотрел, куда можно загрузить игру — и выбрал VK Play . Казалось удобным: русская платформа, выплаты, публикация и всё такое. Родители согласились помочь если нужно будет с платёжной частью (так как мне 15, сам я не могу вбить свои данные), и на этом этапе всё было ок. Но дальше я столкнулся с проблемами, которые полностью поменяли моё отношение к платформам и подход к разработке в целом.

habr.com/ru/articles/911156/

#unreal_engine_5 #javascript #nextjs #nestjs #websocket #backend #gamedev #vkplay

:rss: Qiita - 人気の記事qiita@rss-mstdn.studiofreesia.com
2025-05-18
2025-05-16

Как я ушёл с Kotlin (Spring Boot) на Go (Gin) и сделал AI-чат с WebSocket и GPT-4

Меня зовут Артём, я занимаюсь коммерческой разработкой с 2019 года. Последние несколько лет я активно использовал Spring Boot для создания backend-сервисов на Java и Kotlin. Но в какой-то момент захотелось попробовать что-то новое. Не потому что Spring надоел, а просто чтобы выйти из зоны комфорта и узнать, как чувствует себя проект на другом языке. Я решил: возьму уже начатый pet-проект, перепишу его на Go — и посмотрю, как изменится подход, скорость разработки, ощущения.

habr.com/ru/articles/910122/

#go #gpt4 #websocket #docker #github_actions #petproject #jwt #kotlin

oneM2M-The Global IoT StandardoneM2M@c.im
2025-05-13

If you are an #IoT #developer and need to combine several #protocol #bindings for an #IoT system, the acmeCSE provides a great environment for learning and experimentation acmecse.net/home/Supported/ #CoAP #http #MQTT #WebSocket

2025-05-08

Wormhole Messenger — минималистичный P2P-мессенджер на Rust с end-to-end шифрованием

Во вселенной распределённых систем существует древний цифровой организм — Wormhole , или, как его называют в инженерных кругах, Хранитель туннелей . Он не живёт в серверах, не привязан к IP-адресам и не сохраняет ничего в облаке. Его среда — шум пустоты между узлами. Он рождается каждый раз, когда два устройства обмениваются публичными ключами. Его тело состоит из энергии шифрования , а глаза — это криптографические nonce, всегда уникальные, всегда непредсказуемые. Он не говорит. Он доставляет . Каждое сообщение, проходя через его туннель, исчезает для всего мира — кроме одного получателя. Он не знает, что вы говорите, но знает, что это должно остаться между вами. Когда вы запускаете Wormhole Messenger — вы не просто открываете чат. Вы пробуждаете существо, которое живёт между пингами, между кадрами WebSocket. Маскот — это визуальный облик этого криптографического духа, появляющегося каждый раз, когда вы выбираете приватность.

habr.com/ru/articles/907934/

#Rust #WebSocket #P2P #EndToEndEncryption #Sodiumoxide #Tokio #Axum #CyberSecurity #CLI #OpenSource

kriware :verified:kriware@infosec.exchange
2025-05-04

Cross-Site WebSocket Hijacking Exploitation in 2025

Examines CSWSH attacks, browser mitigations like SameSite cookies, and case studies on exploit viability in modern environments.

blog.includesecurity.com/2025/

#WebSocket

2025-05-01

Снижение затрат на разработку микросервисов

💻 Снижение затрат на разработку микросервисов Оптимизация микросервисов без DevOps: NGinx для паузы запросов при перезапуске backend, шина событий на Bun для бесшовного рестарта реплик через общий порт для разных процессов. Код и конфиги

habr.com/ru/articles/906204/

#typescript #javascript #bun #websocket #microservices #highload #scaling #nestjs #honojs

2025-04-30

I've released v6.0.0 of Socketless, the based library where you never write any RPC or websocket code, because you should not have to care.

Get it over on npmjs.com/package/socketless and see github.com/Pomax/socketless/bl for the changes.

:rss: Qiita - 人気の記事qiita@rss-mstdn.studiofreesia.com
2025-04-25

Action CableでWebSocketを実現するときにconfig.action_cable.urlは必ずしも設定しなくて良い
qiita.com/Hiroto_Aso/items/333

#qiita #Rails #DB #websocket #ActionCable #SolidCable

2025-04-22

New Kitten release 🎉

kitten.small-web.org

• New: Lovely new icons¹ and new callouts in Kitten Settings²

• New: Markdown now supports attributes and bracketed spans³

• New: client-side `kitten` global with `trigger` function for triggering events on the server from the client. (Useful when streaming client-side JavaScript when using Kitten’s Streaming HTML⁴ workflow. e.g., when you have to use a client-only web API like the Clipboard API but you want to keep all your logic on your server-side page.⁵)

• Fixed: The bound render function returned by `KittenComponent` class’s `component` getter now correctly awaits asynchronous templates. (In Kitten, you don’t have to care whether your templates contain promises. Kitten handles all that for you.)

Enjoy! :kitten:💕

¹ kitten.small-web.org/reference

² mastodon.ar.al/@aral/114381983

³ kitten.small-web.org/reference (also see mastodon.ar.al/@aral/114381462)

kitten.small-web.org/tutorials

⁵ e.g., See how I use this to implement a copy to clipboard button in the database page of Kitten’s Settings: codeberg.org/kitten/app/src/br Of course, you don’t have to use this and you can just write client-side JavaScript or use the built-in Alpine.js integration. e.g., how I do it on the (older) settings/identity page: codeberg.org/kitten/app/src/br

#Kitten #SmallWeb #web #dev #markdown #icons #PhosphorIcons #HTML #CSS #JavaScript #StreamingHTML #htmx #WebSocket #NodeJS

2025-04-22

Масштабируемая архитектура дёшево и сердито

🖥️ Микросервисы дёшево и сердито В стате разобран кейс масштабирования websocket сервера между произвольным количеством реплик. Реплики обрабатывают один порт ( SO_REUSEPORT ), а значит, продолжение обслуживания клиента при неполадках осуществляется бесшовно. Для взаимодействия между репликами используется шина событий IPC как наиболее оптимальный вариант в условиях ограниченного бюджета

habr.com/ru/articles/903222/

#typescript #javascript #bun #ipc #websocket #микросервисы #pm2 #многопоточность

Neustradamus :xmpp: :linux:neustradamus
2025-04-20
2025-04-18

На пальцах про WebRTC на примере своего мессенджера

Сегодня разберёмся, как сделать видеозвонки — ту самую фичу, без которой сложно представить современное общение в 2025 году, на примере реализации мессенджера. Для этого мы познакомимся с WebRTC — технологией, которая позволяет приложениям устанавливать прямое соединение друг с другом для обмена аудио, видео и другими данными. Это мощный, но местами капризный инструмент, который требует понимания архитектуры, сигналинга и сетевых нюансов вроде NAT и ICE.

habr.com/ru/articles/902084/

#WebRTC #react_native #typescript #websocket #graphql

oneM2M-The Global IoT StandardoneM2M@c.im
2025-04-13

If you are a #developer and need to combine several #protocol #bindings for an #IoT system, the ACME-CSE provides a great environment for learning and experimentation acmecse.net/home/Supported/ #CoAP #http #MQTT #WebSocket

Alexey Skobkinskobkin@gts.skobk.in
2025-04-13

Блин, у меня какая-от непонятная херота с WebSocket соединениями на моём GoToSocial.

Альтернативные мастодон-морды не могут подключиться к вебсокету. А ручной коннект через создание вебсокета в консоли браузера - срабатывает.

При этом при WS-коннекте из того же Masto-FE Standalone (GTS flavor) я вижу, что в заголовках запроса улетает sec-websocket-protocol равный моему токену, который и так передаётся в урле при подключении:

/api/v1/streaming?access_token=<my_token_here>

И это очень странно. Потому что sec-websocket-protocol так-то вроде вообще не для этого.

Соответственно, если я попытаюсь воспроизвести руками и сделать примено так:

new WebSocket(
  "wss://gts.skobk.in/api/v1/streaming?access_token=<your_token>",
  "<your_token>"
);

То получу аналогичный результат с проблемой соединения.

Но вот какого хера это происходит - неясно.

Тем временем не факт, что проблема только в этом. В Phanpy при этом заголовка такого в запросе нет, но результат - такой же.

Со стороны GTS же я вижу такое:

gotosocial  | timestamp="13/04/2025 03:01:29.171" func=streaming.(*Module).handleWSConn level=INFO streamID=<redacted> username=skobkin requestID=<redacted> msg="opened websocket connection"
...
gotosocial  | timestamp="13/04/2025 03:01:34.214" func=streaming.(*Module).readFromWSConn level=ERROR streamID=<redacted> username=skobkin requestID=<redacted> msg="error during websocket read: websocket: close 1006 (abnormal closure): unexpected EOF"
gotosocial  | timestamp="13/04/2025 03:01:34.214" func=streaming.(*Module).handleWSConn level=INFO streamID=<redacted> username=skobkin requestID=<redacted> msg="closed websocket connection"

Хотелось бы подумать, что "да это просто Nginx не настроен!", но:

  • Руками-то сокет создаётся и переходит в статус 101
  • Другие сервисы с подобным конфигом работают нормально на этом же сервере

#WTF #web #WebSocket #GoToSocial #log #FAIL

2025-04-12

It's 2025, and there's still no widely-used standardized RPC protocol for #WebSocket.

I've looked from time to time, and I never find anything. WAMP is perhaps the closest, but it's massively complex, needs a separate router, and the company that "owns" it (Crossbar) is dead.

What else is there? I see the occasional attempt at JSON-RPC or gRPC over WebSocket, but each implementation is unique and nonstandard. I'm half considering writing my own based on Lexicon (w/o the #ATProto XRPC baggage).

2025-04-08

Кнопка «F5» устала: real-time уведомления в микросервисной архитектуре

Представьте себе: у вас железнодорожная станция, сотни вагонов, десятки пользователей в системе, каждый раз кто-то нажимает кнопку "Обновить", чтобы узнать — разгрузили ли нужный вагон. Вся логика обновления построена на "manual refresh". Да-да, пользователь сам жмёт кнопку, чтобы получить свежие данные. Система автоматической разгрузки или другой человек разгрузил что-то на другом конце станции, но вы об этом не узнаете, пока не перезагрузите страницу. А ещё — избыток HTTP-запросов, polling, перегруженные серверы и полное отсутствие real-time взаимодействия. Есть вариант! Масштабируемая и отказоустойчивая архитектура с использованием Redis Sentinel + Pub/Sub + WebSocket/SSE . В статье расскажем какие проблемы возникают с real-time в Kubernetes, почему стандартные WebSocket-подходы не работают при нескольких подах, как построить отказоустойчивую систему с Redis Sentinel, как сделать real-time UI, сохранив отказоустойчивость и масштабируемость, и как всё это запустить локально для отладки. 👇 Разбираем решение!

habr.com/ru/companies/nlmk/art

#java #redis #sentinel #sse #websocket #notifications

2025-04-02

WebSocket: просто о сложном. Часть 2 — практическое применение и тонкости

С вами снова Юля, системный аналитик из EvApps и мы продолжаем разбираться в технологии WebSocket. В первой части (WebSocket для начинающих системных аналитиков: просто о сложном. Часть 1 ) , мы познакомились с основами WebSocket, а теперь давайте заглянем под капот реального сайта, например, криптобиржи. Попробуем понять, как работает этот сложный механизм: что происходит, когда вы видите мгновенно меняющиеся котировки и графики, и что происходит “за кулисами”.

habr.com/ru/articles/896836/

#websocket #frontend #backend #realtime_web #Безопасность #Производительность #системный_анализ #api

2025-04-01

Реализация простого SSE клиента на Dart

Хочу поделиться недавним кейсом из нашей практики мобильной разработки. Перед нами стояла задача — реализовать обновление данных в клиентском приложении в режиме реального времени, когда изменения на сервере моментально отображаются у пользователя. Мы рассматривали два подхода: WebSocket и Server-Sent Events (SSE). Оба варианта соответствовали нашим требованиям, но в итоге мы остановились на SSE — из-за его простоты реализации и использования стандартного HTTP-протокола.

habr.com/ru/articles/896442/

#sse #WebSocket #HTTP_streaming #Flutter #Dart #клиентсервер #мобильное_приложение #JSON

Chris Woody Woodruffcwoodruff
2025-03-31

Live updates without the hassle? Yes, please. With HTMX and Razor Pages, you can sprinkle real-time magic using SSE—no WebSocket setup is required. Check out how to keep your UI fresh and reactive: woodruff.dev/real-time-magic-l

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst