kaca 消息发布/订阅系统开源项目

我要开发同款
匿名用户2016年02月19日
21阅读
所属分类Google Go、服务器软件、JMS/消息中间件
授权协议MIT

作品详情

kaca是用golang语言开发的基于websocket协议的消息发布/订阅系统。

服务器端代码:

package mainimport (        "github.com/scottkiss/kaca"       )func main() {    //use true to set check origin    kaca.ServeWs(":8080",true)}

发布订阅客户端:

package mainimport (    "fmt"    "github.com/scottkiss/kaca"    "time"   )func main() {          producer := kaca.NewClient(":8080", "ws")          consumer := kaca.NewClient(":8080", "ws")          consumer.Sub("say")          consumer.Sub("you")          consumer.ConsumeMessage(func(message string) {                  fmt.Println("consume =>" + message)                  })      time.Sleep(time.Second * time.Duration(2))          producer.Pub("you", "world")          producer.Pub("say", "hello")          time.Sleep(time.Second * time.Duration(2))}

广播客户端:

package mainimport (    "fmt"    "github.com/scottkiss/kaca"    "time"   )func main() {          producer := kaca.NewClient(":8080", "ws")          consumer := kaca.NewClient(":8080", "ws")          c2 := kaca.NewClient(":8080", "ws")          c2.ConsumeMessage(func(message string) {                  fmt.Println("c2 consume =>" + message)                  })          consumer.Sub("say")          consumer.Sub("you")          consumer.ConsumeMessage(func(message string) {                  fmt.Println("consume =>" + message)                  })          time.Sleep(time.Second * time.Duration(2))          producer.Broadcast("broadcast...")          time.Sleep(time.Second * time.Duration(2))})}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论