Somewhat dated, but a good in-depth discussion on Windows MMF can be found here: might come useful should you like to try and add Win98 support to Win32::MMF yourself (not everything can be done, but MMF existed already in Win3.11 IIRC). That will require some 'dirty' work with XS and C, but the module author would probably be willing to help.
If I were to do it (given my ability with XS) I'd take the local networking path. All you need for the server program is a port to network repeater:
- a thread reads from the port and writes into some memory buffer (even a perl scalar might do, depends on buffer size); Device-Parallel-Port should probably do what you need (and portably too)
- another thread answers UDP requests with chunks taken from the shared buffer; regular sockets are all you need
It could even be done in a single thread, given that both
processes should complete pretty fast.
Hope that's enough to get you started,
Ant9000 | [reply] [Watch: Dir/Any] |
I think adding Win98 support to that is indeed a lot of dirty work and I don't know if it's worth the effort.
Currently I'm looking at two possibilities: local networking and creating an ActiveX control (using PerlCtrl) that emulates OLE events.
by the way: the author of Device::ParallelPort asked me how to get Win32 support for his module and got my code, based upon jcwren's code... :)
| [reply] [Watch: Dir/Any] |
Cache::FileCache is probably what you're looking for.
-Nitrox | [reply] [Watch: Dir/Any] |
Cache::FileCache is too slow. The benchmark of Win32::MMF shows that the MMF approach is about 700 times faster than the filecache approach. :-)
| [reply] [Watch: Dir/Any] |
But the OP stated that he needed it to work on win98.
-Nitrox
| [reply] [Watch: Dir/Any] |