I am trying to write a python script to read data from a printer port
using python sockets, but it seems I am locking up the port.
Is there a way to ensure that I do not block the port to other
applications?
My knowledge of python sockets is minimal, so any help would be
appreciated.
OS and Python version might be of interest...
However, parallel ports are typically unshared devices (which is why
any multitasking system has things like print spooling -- so multiple
tasks and "print" to the spool, and the spool driver is the only process
actually accessing the printer port).
I still have nightmares over one assignment I had some 8 years ago:
Reading a clock signal (square wave) on one of the parallel port's
signal pins, in order to time a three-bit /balanced/ (using 6-pins of
the output) data stream. Done on a W98 laptop (since W98 didn't have the
protected ports of WinXP) using Visual C++ -- and on the laptop as the
eventual plan had been to send "red" GPS decryption keys to satellites;
contact with "red" keys makes the hardware it passes through highly
classified, and the main hardware had to stay "open" for uncleared
developers working on flight software.
Unfortunately, even with the program running at the highest
available Windows priority, the OS still did <something> every few
milliseconds, which led to glitches in the output stream. (The good
by the time the DTD with the keys became available, the CONOPS had
changed to use "black" keys, which did not "infect" the computer system
-- so the regular command formatter could be used for uploading).