# Totodore/socketioxide

A socket.io server implementation in Rust that integrates with the Tower ecosystem and the Tokio stack.

Repository: https://github.com/Totodore/socketioxide
Canonical: https://ross.abutalabs.com/products/socketioxide
Homepage: https://docs.rs/socketioxide
Language: Rust
License: MIT
License Family: permissive
Topics: hyper, rust, socket-io, tokio, axum, tower
Last push: 2026-08-24T21:58:51+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 99, longevity 90
- inputs: {"age_days": 1270, "days_push": 9, "days_rel": 9, "gap_med": 0.0, "n_releases_24m": 35}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1623, forks 83 (observed 2026-08-28T04:05:12.604047+00:00)

## What it is
Socketioxide is a Socket.IO server implementation in Rust built as a Tower layer/service, integrating with the Tokio and Hyper ecosystems. It supports namespaces, rooms, acknowledgements, binary packets, polling and WebSocket transports, and pluggable adapters for horizontal scaling via Redis, MongoDB, or PostgreSQL.

## Use cases
- add socket.io realtime messaging to a Rust axum server
- build a websocket server compatible with the official socket.io client
- scale socket.io connections horizontally with redis adapter
- serve socket.io events from a hyper or warp service
- implement rooms and namespaces for chat in Rust
- emit binary packets over socket.io from Rust

## When to choose
- you need a socket.io-compatible server in Rust
- your stack already uses Tower, Tokio, Axum, or Hyper
- you want tower-http middleware like CORS or auth on your socket layer
- you need horizontal scaling with Redis, MongoDB, or Postgres adapters

## When to avoid
- you need a socket.io client rather than a server
- you want plain websockets without the socket.io protocol overhead
- your project is not Rust or not async/tokio-based

## Facets
- artifact type: library
- maturity: active
- function: websocket, http-server, middleware, rpc
- domain: web-development, backend, developer-tools
- platform: rust, cross-platform
- tags: socketio, tower, tokio, axum, hyper, realtime-messaging, horizontal-scaling, real-time

## Member repositories
- Totodore/socketioxide (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:12.604047+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:48:48.840675+00:00, confidence not recorded.
  - readme: https://github.com/Totodore/socketioxide (fetched 2026-08-28T04:05:12.604047+00:00, sha 8dd383c7c2c5)
  - homepage: https://docs.rs/socketioxide (fetched 2026-08-29T11:21:34.691825+00:00, sha 831d47770f69)
  - site_page: https://docs.rs/about/badges (fetched 2026-08-29T11:21:34.702161+00:00, sha 6588cac258af)
  - site_page: https://docs.rs/about/builds (fetched 2026-08-29T11:21:34.704190+00:00, sha 811231ca4680)
  - site_page: https://docs.rs/about/metadata (fetched 2026-08-29T11:21:34.705954+00:00, sha 0dcdccb2b2b2)
  - site_page: https://docs.rs/about/redirections (fetched 2026-08-29T11:21:34.707537+00:00, sha 1b1efd93105f)
  - site_page: https://docs.rs/ (fetched 2026-08-29T11:21:34.694896+00:00, sha b61322ba65f9)
  - site_page: https://docs.rs/crate/socketioxide/latest (fetched 2026-08-29T11:21:34.696638+00:00, sha c74dae516ece)
  - site_page: https://docs.rs/crate/socketioxide/latest/features (fetched 2026-08-29T11:21:34.698510+00:00, sha 843c4a955ce3)
  - site_page: https://docs.rs/about (fetched 2026-08-29T11:21:34.700247+00:00, sha 29ab7986fbf5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
