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.

Reply via email to