Melody —— Go 语言的微型 WebSocket 框架

    xiaoxiao2023-09-02  248

    Melody 是一个 Go 语言的微型 WebSocket 框架,基于 github.com/gorilla/websocket 开发,主要特性:

    接口简单易用,类似 net/http 或者 Gin提供给所有广播以及给选择连接会话广播的简单途径消息缓冲对并发写是安全的可自动处理 ping/pong 和会话超时

    一个简单的实例:

    https://yqfile.alicdn.com/f9d44ad5b248fc3b5ab25fa983e42f9e225162c3.png" >

    代码:

    package main import ( "github.com/olahol/melody" "github.com/gin-gonic/gin" "net/http" ) func main() { r := gin.Default() m := melody.New() r.GET("/", func(c *gin.Context) { http.ServeFile(c.Writer, c.Request, "index.html") }) r.GET("/channel/:name", func(c *gin.Context) { http.ServeFile(c.Writer, c.Request, "chan.html") }) r.GET("/channel/:name/ws", func(c *gin.Context) { m.HandleRequest(c.Writer, c.Request) }) m.HandleMessage(func(s *melody.Session, msg []byte) { m.BroadcastFilter(msg, func(q *melody.Session) bool { return q.Request.URL.Path == s.Request.URL.Path }) }) r.Run(":5000") }

    文章转载自 开源中国社区 [http://www.oschina.net]

    最新回复(0)