Unable to open a UDP port with nc
I hooked up tcpdump to see if the sender side is in fact sending datagrams:

$ sudo tcpdump -i lo0 udp port 5555
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo0, link-type NULL (BSD loopback), capture size 262144 bytes
13:53:29.964728 IP6 localhost.49781 &gt; localhost.personal-agent: UDP, length 6


Datagrams are sent, but apparently as IPv6 packets.  If I force IPv4 operation, then everything works as expected:

$ nc -l -u 5555 &amp;
[1] 25911
$ echo "Hello" | nc -4 -u localhost 5555
Hello


This leaves the question why does nc -lu open an IPv4 port by default whereas nc -u uses IPv6 by default, but my immediate issue is now fixed.