哪里有 Golang 的 websocket 框架对比

2020 年 10 月 15 日
 EIJAM
新接手的 go 应用里用到了 gorilla websocket,随手查了一下发现 golang 的 x 包里还有个 net/websocket 。
网上没找到对比文章,有大佬能简单讲讲么?比如性能,稳定性,使用难易度之类的。
或者给个提示去哪里查
6663 次点击
所在节点    Go 编程语言
12 条回复
xkeyideal
2020 年 10 月 15 日
首先别说查不到,网上一堆,换个姿势试试
说结论:
1 、别用 x 包的 websocket
2 、目前 golang 最简单易用的 websocket 框架就是 gorilla 了
3 、gorilla 的 websocket 如果连接数上千过万,会存在问题
4 、还有另外一个 websocket 裤子性能、内存各方面说是很厉害,但易用性比较差,名字记不住,自己查
5 、除非需要与前端进行全双工业务,否则别用 websocket
EIJAM
2020 年 10 月 15 日
@xkeyideal 了解了,感谢点拨🙏🏻
jorneyr
2020 年 10 月 15 日
orilla 的 websocket 如果连接数上千过万,会存在问题: 这么差
freemoon
2020 年 10 月 15 日
@xkeyideal 上千就差的话给出一下证据?
90928yao
2020 年 10 月 15 日
zhs227
2020 年 10 月 15 日
gorilla 是目前通用性最强的,go 官方的包里好像也推荐使用 gorilla 。追求性能极致,不接受一个连接两个 routine 的或每个连接一个读 routine 的,要使用其它的包。比方说网上有篇出名的如何用 go 同时处理百万 websocket 连接。
chotow
2020 年 10 月 15 日
gorilla/websocket 在找新的维护人,迭代停滞,许久才有一些爱好者提交的小修复,不过除了它也没有更好的框架了。
ghjacky
2020 年 10 月 15 日
github.com/googollee/go-socket.io
用的这个结合 gin 做的 server,不过我们这系统没啥业务量,暂时也不知道有啥性能上的瓶颈
joesonw
2020 年 10 月 15 日
EIJAM
2020 年 10 月 15 日
@zhs227
@ghjacky
@chotow
@joesonw
多谢指点
rita413413
2021 年 1 月 30 日
能发言吗
Ansen
2021 年 9 月 26 日
我用 x 包的 websocket 实现的 webssh 各种完美,
gorilla 的 各种问题😅

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/715291

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX