LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

UDP Real Time Parsing - Best Practices?

I'm working on a parsing UDP stream in real time.  Right now - my method is pretty straight forward:

  • 3 Asynchronous loops that do the following:
    • 1 - UDP capture and queue each raw packet individually
    • 2 - Flush raw queue and parse then queue parsed
    • 3 - Dequeue parsed data and do whatever with it

The data, however, is quite large.  If I were to use Wireshark and take PCAPs, I'd get in the realm of 100MB in 5 seconds.  Granted, there's some header/meta data in the PCAP, but very much mostly raw packets.  So, I have a few questions to the pros here regarding this:

  • Is this even possible in LabVIEW to capture that and only maybe drop a few packets? I'm worried LabVIEW isn't fast enough.
  • Is my approach garbage?
    • Should I capture, say, 5K packets and then queue that up?
    • If capture a bunch then queue, do I use LabVIEW's indexing feature on the loops or should I be initializing my arrays then replacing the subsets?
    • Would DVRs and notifiers be a better approach to this?
  • Is there a labview whitepaper regarding fastest ways to get and parse UDP?
  • Are we better off using a Windows DLL to capture UDP packets?  If so, any suggestions?

Thank you.

0 Kudos
Message 1 of 1
(466 Views)