UDP is a different sort of beast because it is Connectionless. You don't have the S, SA, A of TCP to confirm if a port is open, instead you have to rely on ICMP error messages, which are often filtered... meaning detection can't always be as reliable as you'd like it to be.

nmap does UDP port scanning and includes ncat which will allow you to connect to a UDP port and send/recv data.