stomp.go 659 B

123456789101112131415161718192021222324252627282930
  1. package stomp
  2. import (
  3. "encoding/json"
  4. "log"
  5. "battlecamp-go-server/flag"
  6. "github.com/go-stomp/stomp"
  7. )
  8. var stompConnection *stomp.Conn
  9. func getStompConnection() *stomp.Conn {
  10. if stompConnection == nil {
  11. var err error
  12. stompConnection, err = stomp.Dial("tcp", *flag.StompUrl)
  13. if(err != nil) {
  14. log.Printf("Error creating stomp connection error: %v\n", err)
  15. } else {
  16. log.Println("Created stomp connection")
  17. }
  18. }
  19. return stompConnection
  20. }
  21. func SendJson(topic string, v interface{}) {
  22. b, _ := json.Marshal(v)
  23. getStompConnection().Send("/topic/go-battlecamp."+topic, "application/json;charset=utf-8", b, stomp.SendOpt.NoContentLength)
  24. }