simplemq/cmd/rpccli/main.go

37 lines
614 B
Go

package main
import (
"fmt"
"log"
"simplemq/lib/client"
"simplemq/lib/types"
"time"
)
func main() {
c, err := client.New("ws://localhost:8080/ws")
if err != nil {
panic(err.Error())
}
c.Sub("a", func(m *types.Msg) {
ret := fmt.Sprintf("==> Got %s at %s", string(m.Payload), time.Now().String())
log.Printf(ret)
c.RpcReply(m, []byte(ret))
})
c.Sub("ab.*", func(m *types.Msg) {
log.Printf("Got wildcard")
})
for {
bs, err := c.Rpc("a", []byte("A Request"))
if err != nil {
log.Printf(err.Error())
} else {
log.Printf("Recv: %s", string(bs))
}
time.Sleep(time.Second)
}
}