Go 的 WebSocket 框架 Melody

未知
Google Go
跨平台
2015-05-25
红薯

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

  • 接口简单易用,类似 net/http 或者 Gin

  • 提供给所有广播以及给选择连接会话广播的简单途径

  • 消息缓冲对并发写是安全的

  • 可自动处理 ping/pong 和会话超时

一个简单的实例:

Chat demo

代码:

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")
}
加载中

评论(2)

m
maomao-1
如果想从服务器端推送消息到客户端的话,个人觉得GoEasy推送还不错,它有Restful API 支持多语言,而且针对java他们还特别做了SDK,使用很简单方便。同时它也支持客户端推送。由于它支持websocket 和polling两种连接方式所以兼顾大多数主流浏览器,低版本的IE浏览器也是支持的,很适合需要快速建立实时web通信的项目。https://goeasy.io
成都阿布
成都阿布
得试用下 :) #Melody#

暂无资讯

暂无问答

melody自身监控配置.md

自身监控配置 javamelody 监控配置.md 一、系统自身监控 访问路径:http://127.0.0.1:9090/ysg/monitoring rrd文件存放路径:work/melody目录下 系统前期采用自身监控,稳定运行后,可以停用...

2015/06/12 19:48
51
0
程序员如何写出杀手级简历

英文原文:http://niniane.org/resume_howto.html 这几年,我在Google工作,是一名软件工程师(之前是在微软做一个开发团队的队长),我曾浏览过成百上千的简历,从中挑选出可以进行下一步面试...

2016/08/24 17:05
8
0
程序员如何写出杀手级的简历

这几年,我在Google工作,是一名软件工程师(之前是在微软做一个开发团队的队长),我曾浏览过成百上千的简历,从中挑选出可以进行下一步面试过程的 应聘者。 有些人的简历给我留下了很深的印象...

2014/10/18 15:55
78
0
使用JavaMelody监控Java EE应用

本文主要完成如下一个任务: 对一个已有的Web应用工程,添加JavaMelody工具,从而去监控和查看Web应用的运行情况,比如:Http请求的执行时间、SQL语句的执行时间、PDF报表的生成。 JavaMelo...

2016/11/14 19:50
816
0
程序员如何写出杀手级的简历

  这几年,我在Google工作,是一名软件工程师(之前是在微软做一个开发团队的队长),我曾浏览过成百上千的简历,从中挑选出可以进行下一步面试过程的 应聘者。 有些人的简历给我留下了很深的...

2014/10/23 09:58
47
1
【转】程序员:如何写出杀手级简历

http://xukejun.babyy.blog.163.com/blog/static/121197584201042711439177/  这几年,我在Google工作,是一名软件工程师(之前是在微软做一个开发团队的队长),我曾浏览过成百上千的简历,从...

2014/10/14 23:38
6
0
WAP应用及手机网站的现状

目前,使用移动电话访问网上信息的方式主要有两种:其一,由电信增值服务(TelephonyValue Added Services)直接在无线网络中提供WML 的Web 格式的信息服务;其二,通过能收发无线信号的代理服...

2011/07/07 14:09
149
0
MIME类型大全

application/vnd.lotus-1-2-3 3gp video/3gpp aab application/x-authoware-bin aam application/x-authoware-map aas application/x-authoware-seg ai application/post****** aif audio/x-...

2015/04/24 11:53
8
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部