【问题标题】:Go Gorilla Websockets ~ On ping/pong fail (user disconnct) call function?Go Gorilla Websockets ~ On ping/pong fail (user disconnct) call function?
【发布时间】:2016-10-08 08:51:36
【问题描述】:

我正在用 Golang 和 Gorilla 的 Websocket 工具包编写一个聊天程序。

我想知道是否有办法在用户断开连接或 ping/pong 消息失败时运行函数。我需要这个来将它们从变量等中删除。有什么简单的方法可以做到这一点?

【问题讨论】:

    标签: go websocket ping gorilla


    【解决方案1】:

    当读取方法(NextReader、ReadMessage)返回错误时,应用程序应关闭连接和清理变量等。

    使用 ping/pong 检测断开连接。 chat example 显示了如何执行此操作。

    如果 pong 丢失,read 方法将返回 read past dead 错误。

    【讨论】:

    • 在聊天的例子中,前端似乎对乒乓球一无所知。是否只在后端处理?
    • @anil 前端自动用 PONG 响应 PING。不需要代码。
    • 是否会在每次单独阅读后重新设置阅读截止日期?
    • @aniztar 如果应用程序有一个已知的上限,那么在每次读取工作之前设置读取截止日期,即在该上限接收下一条消息的时间对于检测断开连接是可以接受的。
    猜你喜欢
    • 2014-06-07
    • 2017-12-05
    • 1970-01-01
    • 2019-03-16
    • 2020-12-29
    • 2020-08-28
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多