home.social

#socketio — Public Fediverse posts

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

fetched live
  1. Just launched #Peerix, a lightweight, open-source #JavaScript library that takes the headache out of building peer-to-peer #WebRTC apps.

    🌐 Direct browser-to-browser streaming & data transfer
    🔌 Pluggable signaling drivers: #MQTT, #NATS, #Centrifugo, #SSE, #SocketIo, #Supabase, etc.
    ✨ Minimal API surface, #TypeScript-first, zero dependencies
    🛠️ Auto-handles collisions and reconnects

    If you're building #P2P apps, check it out! Feedback is welcome 👇

    🔗 peerix.dev

    #OpenSource #WebDev

  2. Альтернативы Centrifugo для Laravel: Reverb, Pusher, Ably, Socket.IO, SSE и polling

    Заключительная часть серии статей про Laravel + Centrifugo и как его готовить. Сравниваем альтернативы Centrifugo для Laravel: Reverb, Pusher, Ably, Socket.IO, SSE и polling. Разбираем плюсы, минусы и сценарии выбора real-time решения.

    habr.com/ru/articles/1036466/

    #Laravel #Reverb #Pusher #Ably #SocketIO #SSE #polling

  3. FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать

    FastSIO. Как я впервые сделал что-то для Open Source, и как я к этому пришел. И что из себя представляет новая Fast<> библиотека

    habr.com/ru/articles/940234/

    #python #socketio #pythonsocketio #fastsio #websockets

  4. 🐢🎩 Ah, the audacity of expecting a mere mortal to understand this labyrinth of #GitHub buzzwords! 🙄 Just when you thought #JavaScript couldn't get any more convoluted, behold: calling socket.io events as if you're dialing grandma's rotary phone — but with more steps and less clarity. ✨💻
    github.com/bperel/socket-call #socketio #confusion #techhumor #codingstruggles #HackerNews #ngated

  5. 🐢🎩 Ah, the audacity of expecting a mere mortal to understand this labyrinth of #GitHub buzzwords! 🙄 Just when you thought #JavaScript couldn't get any more convoluted, behold: calling socket.io events as if you're dialing grandma's rotary phone — but with more steps and less clarity. ✨💻
    github.com/bperel/socket-call #socketio #confusion #techhumor #codingstruggles #HackerNews #ngated

  6. 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

  7. 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

  8. Введение в WebSocket и Socket.IO

    Введение WebSocket — это протокол, обеспечивающий двустороннюю коммуникацию между клиентом и сервером, идеально подходящий для приложений, где необходима передача данных в реальном времени, таких как чаты, уведомления и онлайн-игры Socket.IO — это библиотека, которая расширяет возможности WebSocket, предоставляя механизмы автоматического переподключения и fallback-режимы для более стабильной работы в нестабильных сетевых условиях В этой статье мы рассмотрим, как работают эти технологии, какие задачи решают, их преимущества и ограничения, а также покажем, как быстро настроить сервер и клиента для работы с WebSocket и Socket.IO .

    habr.com/ru/articles/882672/

    #socketio #websocket #socket #longpolling #sse #server_sent_events #longpolling #serversent_events #http #httppooling

  9. Mi consejo, cuando queráis aprender WebSockets no utilicéis un tutorial/libro/curso sobre Socket.IO. Es un framework, una capa de abstracción que te aisla de los fundamentos. Sería similar a aprender JavaScript utilizando JQuery.
    Si vuestro objetivo es montaros vuestros propios servidores, Node y Django Channel lo hacen muy fácil.
    #websockets #web #socketio

  10. Mi consejo, cuando queráis aprender WebSockets no utilicéis un tutorial/libro/curso sobre Socket.IO. Es un framework, una capa de abstracción que te aisla de los fundamentos. Sería similar a aprender JavaScript utilizando JQuery.
    Si vuestro objetivo es montaros vuestros propios servidores, Node y Django Channel lo hacen muy fácil.
    #websockets #web #socketio

  11. Technologies used:
    #html #css #javascript #nodejs #socketio #pixijs

    That should be it I believe.

    Source code coming soon-ish. It's a mess really. I got the first prototype going in less than 20 hours.

    It's interesting to see my code quality fluctuate so badly depending on my mood and current private life situation.

    Sometimes I feel like it's clean and concise. Other times I change the way I do stuff and randomly change course...

  12. [Перевод] Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB

    Статья посвящена созданию приложения для чата в реальном времени с чат-комнатами, с использованием Socket.io и HarperDB. Научимся на практике создавать полнофункциональные приложения, в которых бэкэнд может взаимодействовать с фронтендом в реальном времени. Руководство будет особенно полезно для начинающих веб-разработчиков.

    habr.com/ru/companies/otus/art

    #fullstack_development #javascript #приложениечат #Socketio #вебразработка

  13. Hey, want to watch me flail... I mean... code? I'm going live today at 2:00 PM ET! We're wrapping up the trivia game built with #nodejs, #vue, #tailwindcss, and #socketio! #AHOTLive #streaming #twitch twitch.tv/pluralsight_live

  14. Hey, want to watch me flail... I mean... code? I'm going live today at 2:00 PM ET! We're wrapping up the trivia game built with , , , and ! twitch.tv/pluralsight_live

  15. I had fun creating a countdown video for my live streams 🤓 Speaking of which, come hang out with me on Twitch at 2:00 PM ET! We're wrapping up a trivia game built with #nodejs, #vue, #tailwindcss, and #socketio! #AHOTLive #streaming #twitch twitch.tv/pluralsight_live

  16. I had fun creating a countdown video for my live streams 🤓 Speaking of which, come hang out with me on Twitch at 2:00 PM ET! We're wrapping up a trivia game built with , , , and ! twitch.tv/pluralsight_live

  17. I'm streaming today at 2:00 PM ET! Come hang out and learn with me as we build a trivia game in #nodejs using #vuejs, #tailwindcss, and #socketio! #AHOTLive #streaming #websockets #javascript #html #css

  18. I'm streaming today at 2:00 PM ET! Come hang out and learn with me as we build a trivia game in using , , and !

  19. An excellent display of ❤️ for the #choreocracy tour... halfway through and heading next to Exeter, Canterbury, Cambridge, and Burton #nodejs #socketio
    instagram.com/p/BqrM0-Yg5tk/