zmq4 icon indicating copy to clipboard operation
zmq4 copied to clipboard

cannot use zmq.REQ in zmq.NewSocker: invalid type

Open podanypepa opened this issue 1 year ago • 3 comments

examples/rrclient.go

cannot use zmq.REQ in zmq.NewSocker: invalid type

podanypepa avatar Jul 15 '24 11:07 podanypepa

I'm currently working with the zmq4 package and I've encountered an issue when trying to create a REQ socket. The error I'm facing is:

cannot use zmq4.REQ in zmq4.NewSocket: invalid type Here’s a brief overview of the problem:

I’m trying to create a socket of type REQ using the following code snippet:

package main

import ( "fmt" "github.com/pebbe/zmq4" )

func main() { // Create a new ZeroMQ context context, err := zmq4.NewContext() if err != nil { fmt.Println("Error creating context:", err) return } defer context.Close()

// Create a REQ socket
socket, err := context.NewSocket(zmq4.REQ)
if err != nil {
	fmt.Println("Error creating REQ socket:", err)
	return
}
defer socket.Close()

// Connect and send messages as needed

} However, when I try to use zmq4.REQ in the NewSocket function, I get the error mentioned above, which states that the type is invalid.

It seems like there might be a type mismatch or an issue with how the constants are defined in the package. I have checked the documentation and examples but couldn't find a solution.

Would you be able to guide me on how to properly create a REQ socket using this package, or if there are any updates or fixes related to this issue?

Thanks in advance for your help!

Best regards,

jogugil avatar Dec 09 '24 11:12 jogugil

I can't reproduce this error. There is no context.Close(), but when I remove the first defer, the code compiles and runs without error. There must be something wrong with your installation of ZeroMQ.

pebbe avatar Dec 09 '24 12:12 pebbe

socket, err := context.NewSocket(zmq4.Type(zmq4.REQ))

zhengchunzhe123 avatar Mar 03 '25 11:03 zhengchunzhe123