Yep, see the following example: import net let listener = newSocket(sockType=SOCK_DGRAM, protocol=IPPROTO_UDP) # listen on port 9999 listener.bindAddr(Port(9999)) var data = newString(1024) # receive buffer of 1024 bytes senderAddress: string senderPort: Port numReceived: int while true: numReceived = listener.recvFrom(data, 1024, senderAddress, senderPort) echo "Received ", numReceived, " bytes from address ", senderAddress, ":", senderPort, " - ", data[0..numReceived]
This will listen on port 9999 and continuously receive UDP packets. Received packets are writtent to the data buffer (max size of 1024 bytes here), the actual number of bytes in the packet are in numReceived and the sender address and port are in senderAddress/senderPort respectively.