home.social

Search

121 results for “realtime”

  1. 📢 New #updates · 19 Oct #14.1

    · lightdash 2.616.0 — Merge queries now generally available
    · mirrord 3.276.0 — Added namespace support for DB branches
    · Asterisk certified-22.8-cert5

    Browse everything at selfhost.directory?utm_source=

    #selfhosted #ui #realtime #security

  2. 📢 New #updates · 20 Oct #8

    · 1panel v2.4.0 — Added vLLM monitoring and Netcup DNS support
    · budibase v3.51.0-cloud.5
    · openpanel v3.6.0
    · lightdash 2.617.0 — External connections now link in agent and data app builds
    · MediaCMS v9.3.0 — MediaCMS adds search filters and fixes migration issues

    Full changelogs → selfhost.directory?utm_source=

    #homeserver #monitoring #realtime #dns

  3. 🇹🇼 Meishi Daren Co., Ltd. (85cafe.com) a été victime d'une cyberattaque autour du 21 octobre 2026.

    Meishi-KY (Meishi Daren Co., Ltd.) a annoncé que certains de ses systèmes d'information ont été victimes d'une cyberattaque. La société a immédiatement activé son mécanisme de réponse aux incidents de sécurité et fait appel à des experts externes pour l'enquête et la réparation. Selon l'évaluation préliminaire, l'incident n'a pas encore eu d'impact majeur sur les opérations ou les finances de l'entreprise.

    👉 ww2.money-link.com.tw/Realtime

  4. ElevenLabs wypuściło dwa modele speech-to-speech do agentów głosowych: Mini i Max. Wersja Max ma osiągać 98,8 proc. w Big Bench Audio przy czasie odpowiedzi 0,57 s.

    #si #ai #sztucznainteligencja #wiadomości #informacje #technologia

    aisight.pl/technologia/generat

  5. Real-time chat applications are a great way to understand how modern web applications communicate beyond traditional request-response cycles. From customer support tools to team collaboration platforms, messaging systems need to deliver messages quickly, maintain consistent state, and handle multiple users communicating simultaneously.

    React provides a flexible foundation for building interactive chat interfaces, while Node.js makes it possible to manage concurrent connections efficiently. When combined with Socket.IO, these technologies enable bidirectional communication between clients and servers without requiring users to refresh their browsers.

    In this article, we will build a practical real-time messaging foundation using React concepts, Node.js, Express, and Socket.IO. We will cover the message lifecycle, room-based communication, connection management, basic validation, and important considerations for taking a chat application into production.

    Designing a Real-Time Chat Application with React, Node.js, and Socket.IO


    A typical chat application consists of three main layers: the React frontend, the Node.js backend, and a communication layer that connects them. React manages the conversation interface, including the message list, text input, connection status, and user interactions. The backend validates incoming messages, determines which users should receive them, and broadcasts events to connected clients.

    Socket.IO is useful because it provides event-based communication, automatic reconnection attempts, and room-based messaging. Unlike ordinary HTTP requests, which typically finish after returning a response, a WebSocket connection can remain open so the server and client can exchange events in both directions. Socket.IO can also fall back to HTTP long-polling when WebSocket transport is unavailable, depending on configuration.

    The following example implements a runnable Node.js chat server with Express and Socket.IO. It supports joining a named room, broadcasting messages to other participants in that room, tracking connected users, validating message content, and logging each important step. The example uses in-memory state to keep the implementation approachable, so messages and room membership are not persistent across server restarts.

    On the React side, create a Socket.IO client and register event listeners inside a useEffect hook. Keep the socket lifecycle synchronized with the component lifecycle, remove listeners during cleanup, and use functional state updates when appending messages. In production, authenticate connections, authorize room membership, apply rate limits, validate payloads on the server, and store messages in a database when conversation history must survive restarts.

    const express = require("express");
    const http = require("http");
    const { Server } = require("socket.io");
    const { randomUUID } = require("crypto");

    // Step 1: Create the Express application and HTTP server.
    const app = express();
    const server = http.createServer(app);

    // Step 2: Configure Socket.IO for browser clients.
    const io = new Server(server, {
    cors: {
    origin: process.env.CLIENT_ORIGIN || "http://localhost:5173",
    methods: ["GET", "POST"]
    }
    });

    // Step 3: Keep lightweight connection metadata in memory.
    // Use a database or shared store for a production deployment.
    const connectedUsers = new Map();
    const MAX_MESSAGE_LENGTH = 1000;

    // Step 4: Add a simple health endpoint for monitoring.
    app.get("/health", (req, res) => {
    res.json({ status: "ok", connectedClients: io.engine.clientsCount });
    });

    // Step 5: Register handlers whenever a client connects.
    io.on("connection", (socket) => {
    console.log(`[CONNECT] Client connected: ${socket.id}`);

    // Each client must choose a display name before chatting.
    socket.on("join-room", ({ username, room } = {}) => {
    if (typeof username !== "string" || typeof room !== "string") {
    socket.emit("chat-error", { message: "Username and room are required." });
    return;
    }

    const cleanUsername = username.trim().slice(0, 30);
    const cleanRoom = room.trim().slice(0, 60);

    if (!cleanUsername || !cleanRoom) {
    socket.emit("chat-error", { message: "Username and room cannot be empty." });
    return;
    }

    // Leave the previous room when a client switches conversations.
    const previous = connectedUsers.get(socket.id);
    if (previous) {
    socket.leave(previous.room);
    socket.to(previous.room).emit("user-left", {
    username: previous.username
    });
    }

    // Socket.IO automatically keeps track of room membership.
    socket.join(cleanRoom);
    connectedUsers.set(socket.id, {
    username: cleanUsername,
    room: cleanRoom
    });

    console.log(`[ROOM] ${cleanUsername} joined ${cleanRoom}`);

    // Confirm the join only after the server has processed it.
    socket.emit("room-joined", {
    username: cleanUsername,
    room: cleanRoom
    });

    // Notify other participants without echoing to the joining client.
    socket.to(cleanRoom).emit("user-joined", {
    username: cleanUsername
    });
    });

    // Step 6: Validate and broadcast a new chat message.
    socket.on("send-message", (payload = {}) => {
    const user = connectedUsers.get(socket.id);

    if (!user) {
    socket.emit("chat-error", { message: "Join a room before sending messages." });
    return;
    }

    if (typeof payload.text !== "string") {
    socket.emit("chat-error", { message: "Message text must be a string." });
    return;
    }

    const text = payload.text.trim();

    if (!text || text.length > MAX_MESSAGE_LENGTH) {
    socket.emit("chat-error", {
    message: `Messages must contain 1 to ${MAX_MESSAGE_LENGTH} characters.`
    });
    return;
    }

    // Build a consistent server-controlled message object.
    const message = {
    id: randomUUID(),
    username: user.username,
    room: user.room,
    text,
    createdAt: new Date().toISOString()
    };

    console.log(`[MESSAGE] ${user.username} in ${user.room}: ${text}`);

    // Broadcast to everyone in the room, including the sender.
    // The sender therefore receives the same canonical message object.
    io.to(user.room).emit("new-message", message);
    });

    // Step 7: Clean up user metadata when a connection closes.
    socket.on("disconnect", (reason) => {
    const user = connectedUsers.get(socket.id);

    if (user) {
    socket.to(user.room).emit("user-left", {
    username: user.username
    });
    connectedUsers.delete(socket.id);
    console.log(`[DISCONNECT] ${user.username}: ${reason}`);
    } else {
    console.log(`[DISCONNECT] ${socket.id}: ${reason}`);
    }
    });
    });

    // Step 8: Start the server and report its address.
    const PORT = Number(process.env.PORT) || 3001;
    server.listen(PORT, () => {
    console.log(`[STARTUP] Chat server listening on port ${PORT}`);
    console.log(`[STARTUP] Health endpoint: http://localhost:${PORT}/health`);
    });

    Conclusion


    Building a real-time chat application is an excellent exercise in frontend state management, event-driven backend development, and network communication. React handles the interactive user experience, Node.js processes application events, and Socket.IO keeps connected clients synchronized without relying on continuous polling.

    The example provides a foundation for room-based conversations, but a production-ready system requires additional engineering. Add authenticated user identities, room-level authorization, persistent message storage, rate limiting, structured error handling, monitoring, and appropriate deployment configuration before exposing the application to real users.

    Start with a single conversation room, verify that messages reach all connected participants, and then introduce features such as typing indicators, unread counts, message history, and private conversations. Which feature would you implement first when extending this chat application?#javascript #react #ai #webdev #software #coding #development #engineering #inclusive #community
    Building Real-Time Chat Applications with React and Node.js

  6. Free real-time Certificate Transparency stream, no API key certstream.dev/free-certstream

  7. #TastingTraffic_LLc the NEW #CEO and REAL 🌀#Weatherman of NOAA! EXP: 30 YEARS AS A #SAILOR;)

    🌀 🌀 🌀 #HURRICAINES?? = Just another Tuesday!

    #MARKETING AND MAKING #FRIENDS IN 🏝️ #FLORIDA!! ❤️ #LOVE_IT!

    And Feed your Family;)

    3 #Birds with One Stone..

    The #Florida way;) and why everything feels like we are walking in slow-mo... #Backwards!! #Chuckles

    Bc most can do 10 things at once.. just like the #Amish;)

    https://www.youtube.com/shorts/WK6QnRVYVzQ

    2025 - 2026 +++ | Come #Vacation in #REAL not fake #Paradise 🥂 🍾

    🐻 🥶 #Polar_Bear_Land;) gettin a #lil_Nippy?? ;)

    ⏰ Time for Florida #Vaca in Paradise?? Just Saying.. grin

    🔮 #Prediction?? 🥶 🥶 🥶 🥶 #Brrrrrrrrr. coming your way! Says the NEW #Weatherman and #CEO of #NOAA.

    Honestly.. ✝️ The #Closest to #REAL_HEAVEN you'll get in the 🇱🇷 #USA..

    When i first came here in the 80's there was a 🏦 bank, a ⛪ church and a 🚗 car lot on every corner.

    A great place to raise a family and I did! 3 Beautiful Girls and 1 Gr8 Son.

    Come SEE #GOD's #Country in all #HIS GLORY and in #HIS PERFECT_HARMONY! 🎼 AMONGst #HIS #CREATURES:)

    We all can learn A LOT from #AMAZING #MARINE 🐬 AND #PLANT_LIFE;) 🌷

    #Nature will fix it self if we HUMANS can keep our BEST THINKING Out Of It!

    🚣 #Bioluminescent #Kayaking in #Florida: Nature’s Wondrous Light Show
    By Lauren Tjaden

    🌊 Imagine a paddling journey through an enchanted land of shimmering blue-green water where #dolphins , #rays and #manatees are mysteriously #illuminated under Florida’s #vast, #starry @sky.

    * Rides of a Lifetime:) FLORIDA THEME PARKS AND ATTRACTIONS
    Static page: https://www.visitflorida.com/things-to-do/attractions/

    * ADVENTURES IN FLORIDA'S OUTDOORS
    Your Florida favorites are only the beginning. Go beyond the expected in the Sunshine State.
    https://www.visitflorida.com/things-to-do/outdoors-and-adventure/

    * #Snorkeling
    https://www.visitflorida.com/travel-ideas/articles/outdoors-nature-best-places-dive-snorkel-florida/

    * #Shopping
    https://www.visitflorida.com/things-to-do/shopping/

    * FLORIDA #ARTS AND CULTURE
    https://www.visitflorida.com/things-to-do/arts-and-culture/

    #Videos:

    * #Florida_Parks: Explore Dry #Tortugas National Park
    https://youtu.be/F6o2EZPNSRA

    * You've Gotta Try This: #Paddleboarding in #Jupiter
    https://youtu.be/2nwfe5bwmZ8

    .. COME VISIT PARADISE AND MUCH MORE

    📛 DISCLAIMER: We Don't Cover the News | We Cover the 'Way' the #News is #COVERED_UP! 👿

    JOBS FOR ALL WORLDWIDE COMING SOON!

    * Software Architect (PhD) Supervisor -25 years 100K PMS hours
    * EXPERT BLACK BOX TESTER
    * Founder of SEO (Search Engine Optimization)
    * Founder of RTB (Real Time Bidding)
    * Founder of HFT (High Frequency Trading)

    https://Withbrains.com/@Davidv ® (Decentralized SOCIAL Network | Signup for Early Invite);
    https://TastingTraffic.net ® (#International_Tech_News);
    http://JustBlameWayne.com ® (Just Blame Wayne & Post it);
    http://Davidv.TV ® (Big Faith | Christianity RAW 101) are not affiliates of this provider or referenced images used. This is NOT an endorsement OR Sponsored (Paid) Promotion/Reshare.
  8. The strategic acquisition is designed to integrate Braze’s real-time data streaming and cross-channel messaging tools directly into Salesforce’s Marketing Cloud. oodaloop.com/briefs/technology

  9. How can Django power smooth, real-time applications?
    From the archives, Ganesh Swami explores WebSockets, Django Channels, state, deployment, scaling, and common async challenges.
    Watch: youtu.be/BRCx6lSA0fM
    Sponsor DjangoCon US 2027: 2027.djangocon.us/sponsors/inf

  10. The Wind Up: Two Distinct Flavours of Mido’s Multifort TV Big Date

    Readtime: 9 min Every product is carefully selected by our editors and experts. If you buy from a…
    #NewsBeep #News #Technology #AU #Australia #mido #Ressence #TheWindUp
    newsbeep.com/au/933499/

Share on Mastodon

Enter the server where you have an account.