===OVERVIEW===
I have a simple Datasocket system that produces a very strange problem on Win2K
After a variable amount of time (between 30 seconds and 30 minutes), the datasocket reader simply stops receiving updates from the writer.
The system involves a basic DS Writer and DS Reader which communicate through the localhost DS Server. I have included the Reader and Writer VIs for your testing. Also, it seems to be easier to reproduce if the VIs are compiled into executables. I have included the executables for testing. The problem is also reproducable when the "reader" is actually a C++ program (using Measurement Studio) that is built into an OCX component (not included).
NOTE: This bug does not seem to be reproducable on WinNT.
I have spent a lot of time debugging this system... with no luck. I have narrowed it down so that it is very reproducable. Just run the Datasocket Server and the two attached EXEs on Win2K (Professional) and wait a while... eventually you will see the reader stops getting updates.
===SYSTEM DESCRIPTION===
The DS Writer connects to the DS Server in "write" mode and sends an array of doubles. An "attribute" is specified as another array of doubles. The writer then updates the connection. The two arrays are meant to represent values and timestamps.
The DS Reader connects in "read-auto-update" mode. It waits for an update and then reads the array and its "attribute array".
Have a look at the attached examples... they are very simple.
===PROBLEM===
The problem is reproducable on our Win2K machines.
After a variable amount of time (usually not more than 10 minutes) the reader simple stops receiving updates. The DS connection is reported to be "Active: Connected" and status is "ConnectionActive".
===NOTES===
I am using LV6.02 and the latest version of Datasockets 4.0 (370).
The 2 VIs are in the same execution system: User Interface.
Power management on the PC is set to "always on" and all power saving, sleep functions, screen savers, etc. are disabled.
I am using the "old" datasockets VIs (open connection. read/write double vector, close connection, etc.). I realize that the "bug" I am reporting might actually be fixed if I used the new Datasocket VIs that come with LV6i, but we really don't want to use those VIs. We find the older VIs better because:
1. The older VIs seem to be faster at writing large vectors. We discovered this through testing.
2. Reliability of maintaining connections. The older VIs appear to be better at maintaining connections.
3. The new VIs have trouble getting the items to appear (and with the correct icon) in the "browse measurement data" window.
No other significant network activity is seen when this bug occurs. It seems to happen randomly.
http://www.medicollector.com