func main() { var err error var nnzbus *nn.Socket pid := os.Getpid() var isServer bool = false if len(os.Args) > 1 && os.Args[1] == "--server" { isServer = true } if isServer { // server code, binds the bus to start it. nnzbus, err = nn.NewSocket(nn.AF_SP, nn.REP) if err != nil { log.Fatal(err) } defer nnzbus.Close() startZBus(nnzbus, ZBUS_ADDR) recvMsgOnZBus(nnzbus) sendZDate(nnzbus) } else { // client code, connects to the bus. nnzbus, err = nn.NewSocket(nn.AF_SP, nn.REQ) if err != nil { log.Fatal(err) } defer nnzbus.Close() if _, err = nnzbus.Connect(ZBUS_ADDR); err != nil { log.Fatal(err) } sayHello(nnzbus) recvZDate(nnzbus) } fmt.Printf("[pid %d] done.\n", pid) }