Well, once I became the person to guess that and I'm simply translating some textures with #Cpp everything is butter smooth again.
#ViệtNam #Mastodon #Game #Nextjs #SocketIO
🚀 Dự án game đánh máy multiplayer mã nguồn mở với con trỏ trực tiếp!
Phát triển bằng Next.js & Socket IO, hỗ trợ chế độ đơn, kết nối trận đấu, thống kê chi tiết & không yêu cầu đăng ký. Creator: /u/SAHAJbhatt
#ViệtNam #Mastodon #Game #Nextjs #SocketIO #OpenSource #TypingGame #LiveCursor #NoSignUp
How to Use Socket IO with Vue 3.
Como Usar Socket IO con Vue 3.
👉 https://nubecolectiva.com/blog/como-usar-socket-io-con-vue-3-parte-1/
#programming #coding #programación #code #webdevelopment #devs #softwaredevelopment #socketio #vue
FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать
FastSIO. Как я впервые сделал что-то для Open Source, и как я к этому пришел. И что из себя представляет новая Fast<> библиотека
Socket-call – Call socket.io events like normal JavaScript functions
https://github.com/bperel/socket-call
#HackerNews #SocketCall #socketio #JavaScriptFunctions #WebDevelopment #GitHub
Parsing the Elite Dangerous Journal
I gave in and changed my event forwarding method in node-red for the Elite Dangerous Journal. This file is updated on various in-game events but in a way that makes it difficult to get new events only since last update. Another problem is that it’s not really a valid JSON file because it has one JSON per line but it’s not a valid JSON array. This is why it has to be parsed line by line and mashed together by event type (name) again to get the latest data for each event type per dump. Each event has it’s own timestamp by set by the game. The latest timestamp is now saved on the special flow const so node-red keeps the value in the “global” memory of the current flow:
msg.payload.event = "Journal";let newJournalTimestamp = flow.lastJournalTimestamp;Object.keys(msg.payload).forEach((key) => { if (msg.payload[key].timestamp) { const keyTimestamp = new Date(msg.payload[key].timestamp).getTime(); if (!flow.lastJournalTimestamp || flow.lastJournalTimestamp < keyTimestamp) { // this entry is new - keep it. MULTIPLE events may have the // same timestamp so wait with reassigning so we don't skip // em or get the latest a 2nd time if nothing else changes. // update the next latest timestamp if this is newer if(!newJournalTimestamp || newJournalTimestamp < keyTimestamp) { newJournalTimestamp = keyTimestamp; } } else { // lastJournalTimestamp is newer, skip this msg.payload[key] = null; } }});// make sure this is a valid date for the next timeflow.lastJournalTimestamp = newJournalTimestamp || new Date().getTime();// remove all nulled events from the payloadmsg.payload = Object.fromEntries( Object.entries(msg.payload).filter(([_, p]) => p !== null));msg.payload.timestamp = new Date(flow.lastJournalTimestamp);return { payload: msg.payload };So I do now keep track of the last read timestamp and reject every event that is older than the last read keeping the Journal dump smaller. This way I don’t have to try to keep track of the “latest” event to drag data from. Refuelling e.g. can happen from whopping 4 (or more) different events and it’s painful to compare all and check which one is the latest to keep track of the real current fuel levels for each tank.
Downside is I won’t get a full set of data for the current session any more if I have to reload my HUD app. This could be mitigated by using MQTT though where I could simply persist each event topic. That is already implemented and I can choose between SocketIO or MQTT in my app anyway.
https://beko.famkos.net/2025/03/29/parsing-the-elite-dangerous-journal/
#EliteDangerous #EliteDangerousOdyssey #homeCockpit #MQTT #NodeRed #simpit #SocketIO
Введение в WebSocket и Socket.IO
Введение WebSocket — это протокол, обеспечивающий двустороннюю коммуникацию между клиентом и сервером, идеально подходящий для приложений, где необходима передача данных в реальном времени, таких как чаты, уведомления и онлайн-игры Socket.IO — это библиотека, которая расширяет возможности WebSocket, предоставляя механизмы автоматического переподключения и fallback-режимы для более стабильной работы в нестабильных сетевых условиях В этой статье мы рассмотрим, как работают эти технологии, какие задачи решают, их преимущества и ограничения, а также покажем, как быстро настроить сервер и клиента для работы с WebSocket и Socket.IO .
https://habr.com/ru/articles/882672/
#socketio #websocket #socket #longpolling #sse #server_sent_events #longpolling #serversent_events #http #httppooling