Closed PatWie closed 6 years ago
When writing the server as
// server.go package main import ( zmq "github.com/pebbe/zmq4" "fmt" "log" "runtime" ) func main() { server, err := zmq.NewSocket(zmq.PULL) checkErr(err) checkErr(server.Bind("tcp://127.0.0.1:9000")) message, err := server.Recv(0) checkErr(err) fmt.Println(message) } func checkErr(err error) { if err != nil { log.SetFlags(0) _, filename, lineno, ok := runtime.Caller(1) if ok { log.Fatalf("%v:%v: %v", filename, lineno, err) } else { log.Fatalln(err) } } }
and the client as
// client.go package main import ( zmq "github.com/pebbe/zmq4" "log" "runtime" ) func main() { client, err := zmq.NewSocket(zmq.PUSH) checkErr(err) checkErr(client.Connect("tcp://127.0.0.1:9000")) _, err = client.Send("Hello", 0) checkErr(err) } func checkErr(err error) { if err != nil { log.SetFlags(0) _, filename, lineno, ok := runtime.Caller(1) if ok { log.Fatalf("%v:%v: %v", filename, lineno, err) } else { log.Fatalln(err) } } }
I get no output from the server
go build server.go && ./server& go build client.go && ./client
When sending a string in python like
#run as "python client.py" import zmq try: ctx = zmq.Context() socket = ctx.socket(zmq.PUSH) socket.connect('tcp://127.0.0.1:9000') socket.send("hi", copy=False) finally: ctx.destroy(linger=0)
The server.go receives the message. Usecase is distributing the client across multiple machines and a server receiving some information.
server.go
When writing the server as
and the client as
I get no output from the server
When sending a string in python like
The
server.go
receives the message. Usecase is distributing the client across multiple machines and a server receiving some information.