Hello.
"Jeremy W. Murphy" wrote:
> just curious as to whether further development to libsocket is desirable or
> whether the whole idea was superceded by something else, or just found to
> be unwanted, or what. I've got "bored programmer" syndrome and need
> something other than my own stuff to work on, so something useful would be
> good. :) Cheers.
I gave up development on libsocket, because I didn't have enough time. It's
not as useful as it once was, because it only works on Windows '9x. And it
doesn't work so well on Winodws '98 and ME. Given enough time and effort, it
could be made useful again. Here's what needs to doing, to make it the One
True Networking Library for DJGPP:
1. Fix the virtual device driver sock.vxd, so that libsocket works well and
reliably on Windows '98, ME. Either that or implement another device driver to
interact well with WSOCK2.VXD. See the dossock page for WSOCKXS by someone42:
http://www.phekda.freeserve.co.uk/richdawe/dossock/
2. Merge in some kind of support for sockets under DOS. Perhaps it could be
based on the TCP ABI by Petter Tattam or merge in some code from Watt-32. I
tried merging in some code from Watt-32 once. I still have a source archive of
that somewhere (the ill-fated libsocket 0.7.5.).
3. Work out some way of supporting networking on Windows NT, 2000, XP. There
are a few of ways of doing this:
(a) Write a VDD to provide the WSOCK.VXD interface to DOS programs. No changes
would be needed to libsocket to work with this solution. The VDD would have to
be loaded, before running libsocket-based programs. There's already a VDD to
do this, but it only interfaces with 16-bit. See WSOCKVDD by Berczi Gabor
here:
http://www.phekda.freeserve.co.uk/richdawe/dossock/
(b) Write a VDD to provide a TCP ABI or packet driver interface to DOS
programs. The packet driver interface could be used by Watt-32, but it could
be an interesting project.
(c) Come up with a client-server architecture where libsocket programs are the
client programs for a Win32 server program that does the networking. They
could communicate via named pipes.
3(c) could actually be used on all Windows platforms, if mailslots are used
instead of named pipes. Named pipes are not available on Windows '9x.
Unfortunately mailslots are not reliable, which brings in a whole load of
problems.
Personally I'd say 1 and 3(a) are the most important. I don't think DOS
compatibility is particularly important right now. I expect most people use
Windows '98/ME, 2000 or XP these days.
Let me know what you think. I can probably explain more about the above, if
you'd like. It'd be great to have someone working on libsocket again.
Thanks, bye, Rich =]
--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]