LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Mark_Yedinak

Provide more TCP/UDP related information

Status: New

I would like to see the functionality of the TCP and UDP primitives expanded to include more state information, better control of the connections and the capability to receive events for the connection.

 

Items that I can see which would be helpful would include the following:

  1. Ability to enable/disable the Nagling algorithm.
  2. Ability to abort a TCP connection with a TCP-RST. (The wire is there on the TCP-Close primitive but it doesn't do anything)
  3. Ability to receive an event when data is present.
  4. Ability to receive an event when the data has actually be put on the wire. (Currently the write VIs return as soon as the data is buffered. There is no ability to have the application wait until the data is actually delivered.)
  5. More access to the IOCTLs that are available on a socket connection that a programmer has access to via Linux or Windows socket libraries.


Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
3 Comments
PhillipBrooks
Active Participant

You've been busy with the network ideas! I absolutely agree with all of your suggestions.

 

I suspect that some of the problem has to do with platform independence. Supporting multiple operating systems reduces the LV functions to the least common denominator (Windows?) Microsoft introduced the Next Generation TCP/IP stack with Vista so once NI moves on to a point where they don't support XP maybe we can hope for an overhaul of the network functions.

 

W/R/T Nagling, there is this example that I used successfully to disable Nagle a few years ago... 

 

Do LabVIEW TCP Functions Use the Nagle Algorithm?

 


Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Mark_Yedinak
Trusted Enthusiast

Phillip,

 

I am aware of that example and am using it now. I have also expanded it somewhat to provide some additinoal functionality. I still fell that these should be part of teh native offering for LabVIEW. One reason why is that anyone who is familar with only LabVIEW would have  adifficult time pulling in other libraries (Winsock for example) to get this basic functionality of a socket connection.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
LabVIEW1234
Member

Are there any solutions out there in native labview for creating events when data is present? I am not familiar with Winsock but I have seen some stuff on the web that has some examples using it with TCP and UDP.