Go WebSocket 开发与测试实践【gorilla/websocket】
前文提到Go WebSocket开发与测试实践【/net/websocket】,今天分享一下另外一个 Go WebSocket 实现库gorilla/websocket
,这个类库功能这也是我找到资料最多的实现方式。gorilla/websocket
得到官方认可的库,如果大家使用 Go 语言做 WebSocket 的开发测试的话,我建议使用gorilla/websocket
。
文章引用
Golang 官方标准库实现的 websocket 在功能上有些欠缺,本次介绍的 gorilla/websocket 库,是 Gorilla 出品的速度快、质量高,并且被广泛使用的 websocket 库,很好的弥补了标准库功能上的欠缺。
依赖
复制代码
WebSocket 开发
跟 Go 官方标准库实现有一点较大区别就是需要Upgrader
对象,用来处理将 HTTP 请求升级为 WebSocket 请求,创建比较简单,下面是 Demo:
复制代码
下面是创建 WebSocket 服务的代码:
复制代码
客户端
本次依然使用 Java 和 Go 两种客户端代码,Java 版本与之前大同小异。
复制代码
下面是 Go 版本的客户端
复制代码
测试
老规矩先启动服务端,后启动客户端。
服务端日志:
复制代码
Go 客户端日志:
复制代码
Java 客户端日志:
复制代码
PS:Go 语言在 WebSocket 测试中比 Java 强太多,以后 WebSocket 的功能或者性能测试,我应该会更倾向于用 Go 实现。前两天做了测试,Go 语言几分钟内就能启动 3 万链接,而 Java,支撑不到这么多。
欢迎关注 FunTester,Have Fun ~ Tester !
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/c0078d10b56e96021a5abedc1】。文章转载请联系作者。
评论