Rust is hard, so is writing networking code in it. But who doesn't want its blazing fast speed? Socketioxide fills the gap. It is socket.io, but with speed and safety, that helps you achieve unimaginable while keeping it dead simple. Its the Simplicity teaming up with Speed.
OK GUYS. I know I am selling pancakes in the house of pancakes. But at least check it out. It has some serious enterprise grade testing done before each release, and it won't crash your prod server. And it has almost all feats specified in the protocol.
Socketioxide is a socket.io server implementation in Rust, that integrates with the Tower ecosystem and the Tokio stack. Consider starring on Github and sharing with your co-workers!
- New API for creating the socket.io layer/service. A cheaply clonable
SocketIostruct is now returned with the layer/service and allows to access namespaces/rooms/sockets everywhere in the application. Moreover, it is now possible to add and remove namespaces dynamically through the
- The socket.io
v4protocol is now available under the feature flag
v4, it matches every socket.io js version from 1.0.3 to current . The
v5protocol is still the default and is more performant, it matches every socket.io js version from v3.0.0 to current.
- The socket parameter for the handler is now an
max_payloadoption is now applied when encoding a packet. Before, it was only applied when decoding a packet.
websockettransport, packets are now bufferred before being flushed. Before, they were flushed one by one.