我有一个小项目,需要一个聊天室功能,其中的关系是多对多的。我使用 golang 作为后端 API,使用 Next.js 作为前端。但是开发这个功能的时候遇到了一个问题,根据socket.io文档,golang上的socket.io似乎已经不再维护了,官方文档上golang socket.io最新的稳定版本是V1.4和V2 (作者:googollee 和 ambelovsky)。
现在我可以使用这个包在golang上使用socket.iohttps://github.com/zishang520/socket.io,但是文档对我来说不是很有帮助,而且我担心它会时间太长或者最坏的情况是无法使用 next.js 客户端连接。
任何人都可以帮助我,以防我错过了 golang socket.io 上的信息,或者是否有另一个用最新套接字更新的 golang 包。我也愿意接受其他解决方案。
提前致谢。
P.S 我一直在向某个房间发送消息,以防有人想知道。
我相信 Go 的官方 Socket.IO 库已经过时并且没有得到积极维护。这使得在与 Next.js 等现代前端集成时很难使用 Socket.IO 的最新功能。
然而我最近使用了Gorilla WebSocket(在uni项目中),其轻量级和可扩展的设计使其成为构建自定义实时功能(如房间和广播)的理想选择。
它提供线程安全的并发读/写,并支持文本和二进制消息。它允许自定义握手进行身份验证,以及带超时的灵活连接管理。
文档:https://pkg.go.dev/github.com/gorilla/websocket