Gorilla WebSocket与golang.org/x/net/websocket相比

时间:2015-07-07 08:30:25

标签: go websocket gorilla

根据Gorilla Websockets Project,无法使用 golang.org/x/net/websocket 发送ping和pongs。同时,以下内容位于golang.org/x/net/websocket的项目页面上:

  

包websocket实现了RFC6455中指定的WebSocket协议的客户端和服务器。

我有点困惑。 golang.org/x/net/websocket 实现了RFC 6455,但无法发送控制帧(cancel,ping,pong),尽管这在RFC 6455 - Section Control Frames中指定

如果我使用 golang.org/x/net/websocket 包会发生什么。超时后连接是否会中止?换句话说,这里如何确保连接不会中断。

1 个答案:

答案 0 :(得分:8)

  

根据Gorilla Websockets Project,使用golang.org/x/net/websocket

发送ping和pongs是不可能的。

Gorilla README says不同的东西。它说golang.org/x/net包不能发送ping 接收pong 。它并没有说包裹不会发送乒乓球。

golang.org/x/net软件包通过向对等方发送pong来自动响应从对等方收到的ping,就像Gorilla软件包一样。两个程序包都能正常使用ping和pongs来保持连接的活动。

使用golang.org/x/net/websocket包的应用程序不能使用ping和pongs来保持连接活动。没有办法发送ping。没有办法发现收到了乒乓球。