kaca 介绍
kaca 是用 golang 语言开发的基于 websocket 协议的消息发布/订阅系统。
服务器端代码:
package main import ( "github.com/scottkiss/kaca" ) func main() { //use true to set check origin kaca.ServeWs(":8080",true) }
发布订阅客户端:
package main import ( "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 main import ( "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)) }) }
kaca 官网
http://git.oschina.net/scottkiss/kaca
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。