SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

消息发布/订阅系统 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))
})
}

未经允许不得转载:SEARU.ORG » 消息发布/订阅系统 kaca

赞 (0)
分享到:更多 ()

评论 0