Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
ZMQ_UDP(7)			   0MQ Manual			      ZMQ_UDP(7)

NAME
     zmq_udp - 0MQ UDP multicast and unicast transport

SYNOPSIS
     UDP  is unreliable protocol transport of data over IP networks. UDP support
     both unicast and multicast communication.

DESCRIPTION
     UDP transport can only be used  with  the	ZMQ_RADIO  and	ZMQ_DISH  socket
     types.

ADDRESSING
     A	0MQ endpoint is a string consisting of a transport:// followed by an ad-
     dress. The transport specifies the underlying protocol to use. The  address
     specifies the transport-specific address to connect to.

     For  the  UDP  transport,	the transport is udp. The meaning of the address
     part is defined below.

BINDING A SOCKET
     With udp we can only bind the ZMQ_DISH socket type. When binding  a  socket
     using  zmq_bind()	with the udp transport the endpoint shall be interpreted
     as an interface followed by a colon and the UDP port number to use.

     An interface may be specified by either of the following:

     *	 The wild-card *, meaning all available interfaces.

     *	 The name of the network interface (i.e. eth0, lo, wlan0 etc...)

     *	 The primary address assigned to the interface, in its numeric represen-
	 tation.

     *	 Multicast address in its numeric representation the socket should join.

     The UDP port number may be specified a numeric value, usually above 1024 on
     POSIX systems.

CONNECTING A SOCKET
     With udp we can only connect the ZMQ_RADIO socket type. When  connecting  a
     socket  to  a  peer address using zmq_connect() with the udp transport, the
     endpoint shall be interpreted as a peer address followed by a colon and the
     UDP port number to use.

     A peer address may be specified by either of the following:

     *	 The IPv4 or IPv6 address of the peer, in its numeric representation  or
	 using its hostname.

     *	 Multicast address in its numeric representation.

EXAMPLES
     Binding a socket.

	 //  Unicast - UDP port 5555 on all available interfaces
	 rc = zmq_bind(dish, "udp://*:5555");
	 assert (rc == 0);
	 //  Unicast - UDP port 5555 on the local loop-back interface
	 rc = zmq_bind(dish, "udp://127.0.0.1:5555");
	 assert (rc == 0);
	 //  Unicast - UDP port 5555 on interface eth1
	 rc = zmq_bind(dish, "udp://eth1:5555");
	 assert (rc == 0);
	 //  Multicast - UDP port 5555 on a Multicast address
	 rc = zmq_bind(dish, "udp://239.0.0.1:5555");
	 assert (rc == 0);
	 //  Same as above but joining only on interface eth0
	 rc = zmq_bind(dish, "udp://eth0;239.0.0.1:5555");
	 assert (rc == 0);
	 //  Same as above using IPv6 multicast
	 rc = zmq_bind(dish, "udp://eth0;[ff02::1]:5555");
	 assert (rc == 0);

     Connecting a socket.

	 //  Connecting using an Unicast IP address
	 rc = zmq_connect(radio, "udp://192.168.1.1:5555");
	 assert (rc == 0);
	 //  Connecting using a Multicast address
	 rc = zmq_connect(socket, "udp://239.0.0.1:5555);
	 assert (rc == 0);
	 //  Connecting using a Multicast address using local interface wlan0
	 rc = zmq_connect(socket, "udp://wlan0;239.0.0.1:5555);
	 assert (rc == 0);
	 //  Connecting to IPv6 multicast
	 rc = zmq_connect(socket, "udp://[ff02::1]:5555);
	 assert (rc == 0);

SEE ALSO
     zmq_connect(3)   zmq_setsockopt(3)   zmq_tcp(7)   zmq_ipc(7)  zmq_inproc(7)
     zmq_vmci(7) zmq(7)

AUTHORS
     This page was written by the 0MQ community. To make a  change  please  read
     the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing.

0MQ 4.3.5			   10/09/2023			      ZMQ_UDP(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zmq_udp&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help