Skip to content

Instantly share code, notes, and snippets.

@albttx
Created September 30, 2016 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save albttx/bfd6e8007d83f0a24c873e39fb505dc2 to your computer and use it in GitHub Desktop.
Save albttx/bfd6e8007d83f0a24c873e39fb505dc2 to your computer and use it in GitHub Desktop.
ZeroMQ test wtf
package main
import (
"log"
zmq "github.com/zeromq/goczmq"
)
func create_dealer() *zmq.Sock {
dealer, err := zmq.NewDealer("tcp://127.0.0.1:7878")
if err != nil {
log.Fatal(err)
}
log.Println("dealer created and connected")
return dealer
}
func send_data(dealer *zmq.Sock, msg []byte) {
err := dealer.SendFrame(msg, zmq.FlagNone)
if err != nil {
log.Fatal(err)
}
}
func main() {
dealer := create_dealer()
// increment this variable to see the WTF
for i := 0; i < 50; i++ {
send_data(dealer, []byte("Hello"))
}
}
package main
import (
"log"
"strings"
zmq "github.com/zeromq/goczmq"
)
func create_router() *zmq.Sock {
router, err := zmq.NewRouter("tcp://*:7878")
if err != nil {
log.Fatal(err)
}
log.Println("router created and bound")
return router
}
func receive_message(router *zmq.Sock) string {
reply, err := router.RecvMessage()
if err != nil {
log.Fatal(err)
}
msg := string(reply[1])
log.Printf("dealer received '%s'", msg)
return msg
}
func main() {
var msg string
router := create_router()
i := 0
for {
msg = receive_message(router)
i++
if strings.Compare(msg, "exit") == 0 {
break
}
log.Println(i)
}
router.Destroy()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment