关闭WebSocket连接并发送一条消息。

huangapple go评论82阅读模式
英文:

Close Websocket connection with a message

问题

如何关闭一个 WebSocket 连接并传递一条消息/代码?

文档中只定义了 func (ws *Conn) Close() error,没有任何参数。

我想要像这样从 JavaScript 接收事件:

websocket.onclose = function(event) {
  console.log(event);
};

我正在使用 golang.org/x/net/websocket

英文:

How is it possible to close a websocket connection and pass it a message / code?

The docs only define func (ws *Conn) Close() error without any arguments

I would like to receive the event from JavaScript like this:

websocket.onclose = function(event) {
  console.log(event);
};

I am using golang.org/x/net/websocket

答案1

得分: 5

在关闭连接之前发送一个“关闭消息”:

cm := websocket.FormatCloseMessage(websocket.CloseNormalClosure, "在这里添加你的消息")
if err := c.WriteMessage(websocket.CloseMessage, cm); err != nil {
    // 处理错误
}
c.Close()

使用golang.org/x/net/websocket包无法指定关闭消息。

英文:

Send a close message before closing the connection:

 cm := websocket.FormatCloseMessage(websocket.CloseNormalClosure, "add your message here")
 if err := c.WriteMessage(websocket.CloseMessage, cm); err != nil {
     // handle error
 }
 c.Close()

It is not possible to specify the close message with the golang.org/x/net/websocket package.

huangapple
  • 本文由 发表于 2016年3月29日 22:34:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/36287397.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定