Golang websocket客户端

时间:2015-11-26 00:39:14

标签: go websocket

我想让客户端websocket连接到exertnal服务器每个连接= goroutine和reader。我在互联网上查看信息,但我发现了如何创建服务器websocket教程。 任何人都可以这么善良,并做一个微不足道的例子,并带我走过。我正在使用标准的golang libary https://golang.org/x/net/websocket

我创建了一些代码,但当我关闭一个退出EOF信息的连接程序时。我不会发布代码,因为它可能是我第一次尝试的事实。

我知道如何从websocket读取/发送消息,但我不知道如何创建多个连接。

任何信息,例子都会很感激,感谢阅读

4 个答案:

答案 0 :(得分:8)

您可以使用Gorilla WebSocket library

以下是example用作客户端

答案 1 :(得分:2)

Golang official doc建议使用gorilla来构建基于websocket的应用程序。问题仍然是,大猩猩websocket并非基于事件。应用程序需要处理并发的读写操作。开发人员需要编写自定义goroutine 来处理连接,断开连接和读取事件。 我认为最好有一个图书馆为您处理所有事情。 因此,我决定在大猩猩上写下自己的client implementation - gowebsocket。您可以在Getting started with websocket client in go

中找到更详细的解释

答案 2 :(得分:0)

您可以检查此链接上给出的比较。

https://yalantis.com/uploads/ckeditor/pictures/4265/websocket-libraries.png

文章建议选择Gobwas(https://github.com/gobwas/ws)。它是最佳的性能选择,并提供与websockets相关的应用程序所需的所有必需功能。

答案 3 :(得分:0)

诸如Gorilla之类的解决方案有一些好处,但实际上它们只是WebSocket客户端的包装,它们提供的附加功能有限,您会发现许多limitations and challenges,例如身份验证,网络兼容性,处理重新连接,性能,等

披露:我为Ably工作