1// 2// Freelance server - Model 1. 3// Trivial echo service 4// 5 6package main 7 8import ( 9 zmq "github.com/pebbe/zmq4" 10 11 "fmt" 12 "os" 13) 14 15func main() { 16 if len(os.Args) < 2 { 17 fmt.Printf("I: syntax: %s <endpoint>\n", os.Args[0]) 18 return 19 } 20 server, _ := zmq.NewSocket(zmq.REP) 21 server.Bind(os.Args[1]) 22 23 fmt.Println("I: echo service is ready at", os.Args[1]) 24 for { 25 msg, err := server.RecvMessage(0) 26 if err != nil { 27 break // Interrupted 28 } 29 server.SendMessage(msg) 30 } 31 fmt.Println("W: interrupted") 32} 33