哪里有 Golang 的 websocket 框架对比

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

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

https://www.v2ex.com/t/715291

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

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

© 2021 V2EX