Introducing Socketioxide 0.6
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.
TLDR
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 Features:
- New API for creating the socket.io layer/service. A cheaply clonable
SocketIo
struct 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 theSocketIo
struct. - The socket.io
v4
protocol is now available under the feature flagv4
, it matches every socket.io js version from 1.0.3 to current . Thev5
protocol 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
Arc<Socket>
. - The
max_payload
option is now applied when encoding a packet. Before, it was only applied when decoding a packet. - With
websocket
transport, packets are now bufferred before being flushed. Before, they were flushed one by one.