It seems at time when sending data to a server and knowing a response is coming back I go straight to ClientTCPRead without processing events. Most of the time I get the response but occasionally I get -11 time out and I know the data is there. So do I need the tcp callback or can I disable it ?
To use the CVI TCP library, you must process events. The read might work sometimes without processing events because it may be possible to read all the data without processing window messages, but this is not reliable. So, you need the TCP callback and your thread must process events by calling RunUserInterface, ProcessSystemEvents, or ProcessTCPEvents.