go - 如何在 Go 中将 websocket 与 NewServeMux 一起使用?

标签 go

我收到一条错误消息:不能在 mx.HandleFunc 的参数中使用 websocket.Handler(handler)(类型 websocket.Handler)作为类型 func(http.ResponseWriter, *http.Request)

在下面的代码中

package main

import (
    "golang.org/x/net/websocket"
    "net/http"
)

func handler(ws *websocket.Conn) {
    // TODO
}
func main() {
    mx := http.NewServeMux()
    mx.HandleFunc("/ws", websocket.Handler(handler)) // error

    http.ListenAndServe("localhost:8888", mx)
}

最佳答案

我相信你应该使用mx.Handle,而不是mx.HandleFunc

关于go - 如何在 Go 中将 websocket 与 NewServeMux 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46520738/

相关文章:

arrays - 当数组长度不为空时转到 “panic: runtime error: index out of range”

nginx - 无法让 go.net/websocket 在 nginx 后面工作

go - 如何临时从基础 github repo 导入到它的 fork?

go - bufio.NewReader(os.Stdin) 和 fmt.Scanln() 有什么区别

mysql - 如何在我的 Go 程序中运行测试之前获取数据库模式

go - 如何在 go 中使用 gzip 使用 stdoutpipe 从命令进行压缩?

http - 如何将golang中的http请求发送到我自己的服务器

go - goraft中所有节点的状态

go - 如何将字节的 ASCII 值添加到 golang 中的整数?

type-conversion - 将 big.Int 的最后 8 位放入 uint8