Aller au contenu

socketioxide with Théodore Prévot

24 février 2026 · 1 h 6 min

Notes de l’épisode

episode 28: socketioxide with Théodore Prévot.

This episode features an in-depth conversation with Théodore Prévot, creator and maintainer of the Rust crate socketioxide. We explore the origins of the project, how a personal writing app led to implementing a full Socket.IO server in Rust, and what it takes to build and maintain a high-level real-time protocol on top of Tokio, Tower, and the Rust HTTP ecosystem.

Théodore walks us through the layered architecture of Engine.IO and Socket.IO, explains concepts like rooms, namespaces, acknowledgements, adapters, and connection recovery, and reflects on protocol versioning and compatibility challenges. We also dive into one of the hardest technical problems behind socketioxide: building a custom lazy JSON deserializer wrapper around Serde to efficiently route and decode mixed JSON and binary payloads.

Finally, we discuss abstraction boundaries, async runtime considerations, integration testing strategies, the possibility of a Rust client implementation, and what motivates long-term open source maintenance.

Learn more:

Rama

If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org


Chapters

  • 00:00 Intro
  • 01:04 Get to know Théodore Prévot
  • 06:43 The origins of socketioxide
  • 08:50 Understanding Engine.IO and Its Role
  • 11:43 The Evolution of Socket.IO and Its Features
  • 22:49 Integration with Other Protocols and Frameworks
  • 25:45 Understanding the boundaries of Socket.IO vs Engine.IO
  • 35:38 Custom JSON Deserialization Challenges
  • 40:54 Navigating Socket.IO Versioning
  • 47:02 Abstraction in socketioxide
  • 57:04 Future Directions for socketioxide
  • 01:05:26 Outro

Netstack.FM

  • More information: https://netstack.fm/#episode-28
  • Join our Discord: https://discord.gg/29EetaSYCD
  • Reach out to us: [email protected]


Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

Tous les épisodes de netstack.fm

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.