# websockets

Published articles for websockets.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Mercure Broadcasting in Laravel 13.32

DevFeed: [Mercure Broadcasting in Laravel 13.32](<https://devfeed.tech/articles/mercure-broadcasting-in-laravel-13-32-31558.md>)

Original publisher: [Read original article](<https://laravel-news.com/laravel-13-32-0>)

Author: Paul Redmond

Published: 2026-09-16T02:44:52Z

Content type: release

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [enum](<https://devfeed.tech/topics/enum.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [enums](<https://devfeed.tech/tags/enums.md>), [features](<https://devfeed.tech/tags/features.md>), [github](<https://devfeed.tech/tags/github.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-releases](<https://devfeed.tech/tags/laravel-releases.md>), [news](<https://devfeed.tech/tags/news.md>), [queue](<https://devfeed.tech/tags/queue.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [storage](<https://devfeed.tech/tags/storage.md>), [update](<https://devfeed.tech/tags/update.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

Laravel 13.32 adds a Mercure broadcast driver, filesystem methods for copying and moving files between disks, and enum support for queue pause and resume methods. The release also includes additional fixes and updates.

### Source excerpt

Laravel 13.32 adds a Mercure broadcast driver, Storage::copyToDisk() and moveToDisk(), enum support in queue pause/resume, and more. The post Mercure Broadcasting in Laravel 13.32 appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Gemini Live audio

DevFeed: [Gemini Live audio](<https://devfeed.tech/articles/gemini-live-audio-31180.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/15/gemini-live/>)

Author: Simon Willison

Published: 2026-09-15T22:47:07Z

Content type: tutorial

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [speech-to-speech](<https://devfeed.tech/topics/speech-to-speech.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Google AI](<https://devfeed.tech/topics/google-ai.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [browser](<https://devfeed.tech/tags/browser.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gemini-196](<https://devfeed.tech/tags/gemini-196.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [google](<https://devfeed.tech/tags/google.md>), [google-416](<https://devfeed.tech/tags/google-416.md>), [llm-release](<https://devfeed.tech/tags/llm-release.md>), [llm-release-231](<https://devfeed.tech/tags/llm-release-231.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [openai](<https://devfeed.tech/tags/openai.md>), [playback](<https://devfeed.tech/tags/playback.md>), [release](<https://devfeed.tech/tags/release.md>), [speech-to-speech](<https://devfeed.tech/tags/speech-to-speech.md>), [speech-to-text](<https://devfeed.tech/tags/speech-to-text.md>), [speech-to-text-21](<https://devfeed.tech/tags/speech-to-text-21.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-78](<https://devfeed.tech/tags/tools-78.md>), [ui](<https://devfeed.tech/tags/ui.md>), [voice](<https://devfeed.tech/tags/voice.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [websockets-21](<https://devfeed.tech/tags/websockets-21.md>)

### AI overview

The article describes a browser-based web UI for trying Google's Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking speech-to-speech models. The implementation supports model and voice selection, an optional system prompt, voice conversations, and interruption while the model is speaking. It uses no libraries, connecting to a WebSocket endpoint and using the Web Audio API for capture and playback.

### Source excerpt

Tool: Gemini Live audio Google released Gemini 3.8 Live and 3.8 Live Extended Thinking today - two new speech-to-speech models that are a similar shape to OpenAI's GPT-Live family. I pointed GPT-6 Astra Extra High at the documentation and had it build me this web UI for trying out the new models. You can select a model and voice preset, enter an optional system prompt and then start a voice conversation through your browser, including the ability to interrupt the model while it is talking. The implementation uses no libraries. It connects to the wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContent?key=... WebSocket endpoint and uses a Web Audio API AudioContext for both capture and playback. Here's the Gemini Live tutorial for getting started with that WebSockets API. Tags: google, tools, websockets, generative-ai, llms, gemini, llm-release, speech-to-text

## Durable Objects are Made for Agents

DevFeed: [Durable Objects are Made for Agents](<https://devfeed.tech/articles/durable-objects-are-made-for-agents-37184.md>)

Original publisher: [Read original article](<https://calv.info/durable-objects-are-made-for-agents>)

Author: Calvin French-Owen

Published: 2026-07-22T12:00:00Z

Content type: opinion

Language: en

Sources: [Calvin French-Owen](<https://devfeed.tech/sources/calvin-french-owen.md>)

Topics: [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [V8](<https://devfeed.tech/topics/v8.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [wasm](<https://devfeed.tech/topics/wasm.md>)

Tags: [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [v8](<https://devfeed.tech/tags/v8.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

An opinionated technical article explains why Cloudflare Durable Objects can be a strong primitive for building agents and other stateful products. It describes their serverless V8 execution model, per-object SQLite storage, ID-based request routing, event-driven structure, and potential shortcomings.

### Source excerpt

I've spent the last few months building almost exclusively on Cloudflare Durable Objects. They're a near-perfect primitive for building agents--here's where they shine, and where they fall short.

## Streaming with WebRTC and Mediasoup

DevFeed: [Streaming with WebRTC and Mediasoup](<https://devfeed.tech/articles/streaming-with-webrtc-and-mediasoup-39639.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2025-08-15_streaming-with-webrtc-and-mediasoup>)

Published: 2025-08-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [WebRTC](<https://devfeed.tech/topics/webrtc.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [servers](<https://devfeed.tech/topics/servers.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [P2P](<https://devfeed.tech/topics/p2p.md>)

Tags: [channel](<https://devfeed.tech/tags/channel.md>), [http](<https://devfeed.tech/tags/http.md>), [server](<https://devfeed.tech/tags/server.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [video](<https://devfeed.tech/tags/video.md>), [webcam](<https://devfeed.tech/tags/webcam.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

This tutorial introduces Mediasoup, an open-source server-side WebRTC library that functions as a Selective Forwarding Unit (SFU). It explains SFUs alongside MCU and peer-to-peer alternatives, then outlines a basic producer-consumer setup in NodeJS using a server, a client, WebSockets, and webcam and audio streams.

### Source excerpt

. [Streaming with WebRTC and Mediasoup](streaming-with-webrtc-and-mediasoup-cover...

## Designing a minimal, local-first version of lichess.

DevFeed: [Designing a minimal, local-first version of lichess.](<https://devfeed.tech/articles/designing-a-minimal-local-first-version-of-lichess-39402.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/designing-tinychess/>)

Author: Pranshu Raj

Published: 2025-05-10T15:22:00Z

Content type: article

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [Local-First](<https://devfeed.tech/topics/local-first.md>), [Go](<https://devfeed.tech/topics/go.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [rate-limiting](<https://devfeed.tech/topics/rate-limiting.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [go](<https://devfeed.tech/tags/go.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [latency](<https://devfeed.tech/tags/latency.md>), [local-first](<https://devfeed.tech/tags/local-first.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

The author outlines a plan for tinychess, a smaller local-first version of Lichess intended as a learning project. The planned system includes real-time gameplay, game validation and persistence, matchmaking, spectators, leaderboards, rate limiting, and scoring, using Go, WebSockets, JavaScript, and SQLite or a flat file.

### Source excerpt

How I'm planning to build tinychess, and what I've learnt so far while preparing to build it.

## Cancellation in Kotlin Coroutines

DevFeed: [Cancellation in Kotlin Coroutines](<https://devfeed.tech/articles/cancellation-in-kotlin-coroutines-39233.md>)

Original publisher: [Read original article](<https://kt.academy/article/cc-cancellation>)

Published: 2024-06-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [cancellation](<https://devfeed.tech/topics/cancellation.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [application](<https://devfeed.tech/tags/application.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cancellation](<https://devfeed.tech/tags/cancellation.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [thread](<https://devfeed.tech/tags/thread.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A tutorial on cancellation in Kotlin Coroutines, explaining how cancellation propagates through coroutine hierarchies, changes coroutine state, raises cancellation exceptions at suspension points, and helps release resources in Android and backend applications.

### Source excerpt

Everything you need to know about the cancellation mechanism in Kotlin Coroutines.

## Year in Review: 2023

DevFeed: [Year in Review: 2023](<https://devfeed.tech/articles/year-in-review-2023-37584.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2023-into-2024/>)

Author: hello@taniarascia.com

Published: 2024-01-20T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Web](<https://devfeed.tech/topics/web.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [burnout](<https://devfeed.tech/tags/burnout.md>), [career](<https://devfeed.tech/tags/career.md>), [coding](<https://devfeed.tech/tags/coding.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [life](<https://devfeed.tech/tags/life.md>), [review](<https://devfeed.tech/tags/review.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A personal review of 2023 and the author's ten years as a developer, covering career history, burnout from writing for DigitalOcean, recent software-related posts, and plans to write more about personal interests.

### Source excerpt

It's 2024, y'all. We're 20 days into the year, so I'm running out of time to write that end of year post I always do. I haven't quite known...

## How to Use WebSockets in a Redux Application

DevFeed: [How to Use WebSockets in a Redux Application](<https://devfeed.tech/articles/how-to-use-websockets-in-a-redux-application-37610.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/websockets-in-redux/>)

Author: hello@taniarascia.com

Published: 2023-02-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [middleware](<https://devfeed.tech/topics/middleware.md>), [React](<https://devfeed.tech/topics/react.md>), [browser](<https://devfeed.tech/topics/browser.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [chat](<https://devfeed.tech/tags/chat.md>), [dashboard](<https://devfeed.tech/tags/dashboard.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

A tutorial on integrating WebSockets into a React/Redux application by using Redux middleware to manage connection events, state access, and dispatched actions. It demonstrates a browser WebSocket client and discusses initializing and closing connections for use cases such as chat and live dashboards.

### Source excerpt

At some point, you might work on a React/Redux application that requires the use of WebSockets, such as for chat or live updates on a...

## Creating a chat application from scratch using Rails and WebSockets

DevFeed: [Creating a chat application from scratch using Rails and WebSockets](<https://devfeed.tech/articles/creating-a-chat-application-from-scratch-using-rails-and-websockets-37443.md>)

Original publisher: [Read original article](<https://iridakos.com/programming/2019/04/04/creating-chat-application-rails-websockets>)

Author: Lazarus Lazaridis

Published: 2019-04-04T20:00:00Z

Content type: tutorial

Language: en

Sources: [Lazarus Lazaridis](<https://devfeed.tech/sources/lazarus-lazaridis.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [actioncable](<https://devfeed.tech/tags/actioncable.md>), [application](<https://devfeed.tech/tags/application.md>), [bootstrap](<https://devfeed.tech/tags/bootstrap.md>), [chat](<https://devfeed.tech/tags/chat.md>), [code](<https://devfeed.tech/tags/code.md>), [devise](<https://devfeed.tech/tags/devise.md>), [featured](<https://devfeed.tech/tags/featured.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rails](<https://devfeed.tech/tags/rails.md>), [redis](<https://devfeed.tech/tags/redis.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

A tutorial for building a chat web application from scratch with Rails and WebSockets. It explains WebSocket bidirectional communication and real-time data transfer, then introduces the Ruby and Rails versions used for the application.

### Source excerpt

Hey! It's been a while since my last post. I recently familiarized myself with the awesomeness of WebSockets and I finally found the time to write a tutorial about it. I hope you find it helpful. Update: I also published another post for dockerizing the application of this tutorial, you can find it here. Introduction In this tutorial we are going to create a chat web application from scratch using Rails and WebSockets. Code and comments You can find the code of this tutorial on GitHub. For feedback, comments, typos etc. please open an issue in the repository. What are WebSockets WebSocket is actually a protocol that enables bidirectional communication between the client and the server of a web application over a single long living TCP connection. The WebSocket protocol enables interaction between a web browser (or other client application) and a web server with lower overheads, facilitating real-time data transfer from and to the server. This is made possible by providing a standardized way for the server to send content to the client without being first requested by the client, and allowing messages to be passed back and forth while keeping the connection open. In this way, a two-way ongoing conversation can take place between the client and the server. The communications are done over TCP port number 80 (or 443 in the case of TLS-encrypted connections), which is of benefit for those environments which block non-web Internet connections using a firewall. Similar two-way browser-server communications have been achieved in non-standardized ways using stopgap technologies such as Comet. - WebSocket @ Wikipedia Why WebSockets Suppose you have to create a web page that shows the statuses of running processes. Without WebSockets you would have to either: Use AJAX with Javascript intervals to request and render the latest state of the processes or Automatically reload the page every x seconds (<meta http-equiv="refresh" content="x">) or Add a message on the page "The stat

## WebSockets, caution required!

DevFeed: [WebSockets, caution required!](<https://devfeed.tech/articles/websockets-caution-required-41340.md>)

Original publisher: [Read original article](<https://samsaffron.com/archive/2015/12/29/websockets-caution-required>)

Author: Sam Saffron

Published: 2015-12-29T23:25:05Z

Content type: opinion

Language: en

Sources: [Sam Saffron](<https://devfeed.tech/sources/sam-saffron.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [realtime](<https://devfeed.tech/topics/realtime.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [middleware](<https://devfeed.tech/topics/middleware.md>)

Tags: [http](<https://devfeed.tech/tags/http.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [rails](<https://devfeed.tech/tags/rails.md>), [realtime](<https://devfeed.tech/tags/realtime.md>), [rest](<https://devfeed.tech/tags/rest.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

The article cautions that WebSockets are not automatically a clear win for most realtime web applications. It highlights operational and development concerns, including debugging, logging, profiling, rate limiting, database connection exhaustion, and the choice between WebSockets and REST for client-to-server communication. It suggests WebSockets are more appropriate for specialized high-concurrency cases such as managing 10k interactive console sessions.

### Source excerpt

When developers hear that WebSockets are going to land in the near future in Rails they get all giddy with excitement. minions.jpg492x219 23.2 KB But your users don't care if you use WebSockets: Users want "delightful realtime web apps". Developers want "delightfully easy to build realtime web apps". Operations want "delightfully easy to deploy, scale and manage realtime web apps". If WebSockets get us there, great, but it is an implementation detail that comes at high cost. Do we really need ultra high performance, full duplex Client-Server communication? WebSockets provides simple APIs to broadcast information to clients and simple APIs to ship information from the clients to the web server. A realtime channel to send information from the server to the client is very welcome. In fact it is a part of HTTP 1.1. However, a brand new API for shipping information to the server from web browsers introduces a new decision point for developers: When a user posts a message on chat, do I make a RESTful call and POST a message or do I bypass REST and use WebSockets? If I use the new backchannel, how do I debug it? How do I log what is going on? How do I profile it? How do I ensure it does not slow down other traffic to my site? Do I also expose this endpoint in a controller action? How do I rate limit this? How do I ensure my background WebSocket thread does not exhaust my db connection limit? If an API allows hundreds of different connections concurrent access to the database, bad stuff will happen. Introducing this backchannel is not a clear win and comes with many caveats. I do not think the majority of web applications need a new backchannel into the web server. On a technical level you would opt for such a construct if you were managing 10k interactive console sessions on the web. You can transport data more efficiently to the server, in that the web server no longer needs to parse HTTP headers, Rails does not need to do a middleware crawl and so on. But the majority of

## How we scaled Wisembly's infrastructure : moving from our Elephant to RabbitMQ

DevFeed: [How we scaled Wisembly's infrastructure : moving from our Elephant to RabbitMQ](<https://devfeed.tech/articles/how-we-scaled-wisembly-s-infrastructure-moving-from-our-elephant-to-rabbitmq-34698.md>)

Original publisher: [Read original article](<https://medium.com/unexpected-token/how-we-scaled-wisembly-s-infrastructure-moving-from-our-elephant-to-rabbitmq-282e1fba68ed?source=rss----2d2624499d2---4>)

Author: Guillaume POTIER

Published: 2015-07-02T13:31:56Z

Content type: article

Language: en

Sources: [eFounders](<https://devfeed.tech/sources/efounders.md>)

Topics: [RabbitMQ](<https://devfeed.tech/topics/rabbitmq.md>), [Socket.IO](<https://devfeed.tech/topics/socket-io.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [growth](<https://devfeed.tech/tags/growth.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [php](<https://devfeed.tech/tags/php.md>), [rabbitmq](<https://devfeed.tech/tags/rabbitmq.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [redis](<https://devfeed.tech/tags/redis.md>), [saas](<https://devfeed.tech/tags/saas.md>), [startup](<https://devfeed.tech/tags/startup.md>), [tech](<https://devfeed.tech/tags/tech.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

This article describes how Wisembly evolved its infrastructure as usage grew. It focuses on using RabbitMQ on the backend to communicate between application components and servers, after earlier use of Node.js, Socket.IO, PHP, MySQL, Redis, and WebSockets.

### Source excerpt

Hi, I'm Guillaume, I am the CTO and co-founder of Wisembly, a SaaS solution facilitating interactions during your big meetings and events. We recently launched a beta of our new product: Solid to help you make your every-day-meetings more productive and actionable. This is the story of how we improved our performance by changing and adding elements to our stack over the time. I'll particularly focus on how using RabbitMQ on the backend to communicate between different stack and servers improved our life. Where we once were Here are the building blocks for our tech team's philosophy: start small, DRY (Don't Repeat Yourself) and YAGNI (You Ain't Gonna Need It). Back in 2012, when we implemented real-time websockets communications with Node.js and Socket.io, we had a pretty small stack: everything fullstack on Symfony2 with MySQL as single storage and some tiny parts of Backbone.js here and there to power up our application. One year later I presented these slides at the Symfony2 Live Paris 2013 explaining how we implemented Elephant in raw PHP to communicate from our Symfony2 backend with our distant socket.io push server. https://medium.com/media/dfdfc12635e346b3ceb1b2838fda5808/href As I said, our stack was pretty minimal at the time. We didn't feel the need to complexify it for the sake of the socket.io push server. So we looked at websockets and found a pretty way to implement them, connect and emit events with our Open Source library. It did the job, we open-sourced something cool (more than 500 stargazers now and still active!), on our way to live happily ever after :)... Or did we? Where we are now Quite recently, as the business was growing, more and more push events were sent every minute on the various customer meetings we handle daily. For example, we have a specific feature for very interactive seminars where more than 500 users can answer a live poll. Oftentimes, all the attendees submit their answers during the same 10-to-20-second time window, right after

## Websockets In Python + Flask On Heroku

DevFeed: [Websockets In Python + Flask On Heroku](<https://devfeed.tech/articles/websockets-in-python-flask-on-heroku-32201.md>)

Original publisher: [Read original article](<https://bruceeckel.com/2015/03/10/websockets-in-flask-on-heroku/>)

Author: Bruce Eckel

Published: 2015-03-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Bruce Eckel - Computing Thoughts](<https://devfeed.tech/sources/bruce-eckel-computing-thoughts.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [flask](<https://devfeed.tech/tags/flask.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [python](<https://devfeed.tech/tags/python.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

This article explains how WebSockets enable two-way communication between clients and servers, then describes getting a basic WebSocket example running with Python's Flask framework hosted on Heroku.

### Source excerpt

Websockets change the shape of Internet development by allowing communication both ways -- not only can the client send messages to the server, but with a websocket the server can at any time push information to the client (not just when the client decides to connect to the server). In effect this brings us back to the convenient world of desktop applications where the program and the user interface have two-way communication.

## Websockets Are Not Magical

DevFeed: [Websockets Are Not Magical](<https://devfeed.tech/articles/websockets-are-not-magical-33411.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2015/03/01/websockets-are-not-magic>)

Published: 2015-03-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Art-Net](<https://devfeed.tech/topics/art-net.md>)

Tags: [internet-of-things](<https://devfeed.tech/tags/internet-of-things.md>), [misconceptions](<https://devfeed.tech/tags/misconceptions.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [udp](<https://devfeed.tech/tags/udp.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

This commentary examines misconceptions about WebSockets, especially their use in the Internet of Things. It explains that WebSockets add framing overhead, are message-oriented, and provide TCP delivery guarantees and congestion control while avoiding TCP's stream orientation.

### Source excerpt

A couple months ago I was talking to a high-ranking engineer from an embedded RTOS vendor. He was insisting that websockets are going to be one of the most important standards for the Internet of Things. Unfortunately, the conversation was cut short too soon for me to get a better understanding of his reasons.

## lsof: can't identify protocol

DevFeed: [lsof: can't identify protocol](<https://devfeed.tech/articles/lsof-can-t-identify-protocol-38917.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2012-12-09-lsof-cant-identify-protocol>)

Author: Marek

Published: 2012-12-08T23:00:00Z

Content type: article

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Library](<https://devfeed.tech/topics/library.md>), [debug](<https://devfeed.tech/topics/debug.md>)

Tags: [crash](<https://devfeed.tech/tags/crash.md>), [debug](<https://devfeed.tech/tags/debug.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [socket](<https://devfeed.tech/tags/socket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

The article examines a SockJS-node issue in which enabling WebSockets appears to leak file descriptors and can lead to crashes. It reports that lsof handles the resulting half-closed sockets differently on FreeBSD and Linux, making the issue difficult to debug.

### Source excerpt

lsof: can't identify protocol SockJS-node users noticed that the server seems to be leaking file descriptors when websockets are enabled. The problem resulted in the usual crash. Additionally, was producing weird output, with line instead of a normal tcp/ip description. Where it should say something like: it said: The issue was hard to track, but eventually Yury Michurin found a culprit. It was a library which seems to be leaking sockets in state but didn't close them.