I believe the official Socket.IO library for Go is outdated and hasn't been actively maintained. This makes it difficult to use the latest features of Socket.IO when integrating with a modern frontend like Next.js.
However I recently used Gorilla WebSocket (in uni project), Its lightweight and extensible design makes it ideal for building custom real-time features like rooms and broadcasting.
It offers thread-safe concurrent reads/writes, and support for text and binary messages. It allows customizable handshakes for authentication, and flexible connection management with timeouts.
docs: https://pkg.go.dev/github.com/gorilla/websocket