As well as my REXX based RYO web server I have done something very similar in Visual Basic 6 at home. Yes, I know VB6 is old but I have it, it’s paid for and it works enough for what I need. Using VB6 I created an OCX component that implements a basic web server. I called it DEWS for Dave’s Embedded Web Server. Basically I can add the DEWS component to a VB project and then simply put an instance of it on the form. The OCX uses call backs to drive the users code to handle the GET and POST requests.
Whilst it is not multi threading it is fine for adding simple web interfaces to my VB projects (not that I do a lot of them). I was just looking at the code (11/26/2010) whilst I was writing some doc for it and I realized it does actually handle concurrent requests. I must have been awake when I wrote it for once!
One thing I am working on right now is what I can best describe as a media player with a web based remote control function. The idea is that I can setup ‘play lists’ of songs (actually wav and mp3 backing tracks) and then control the playing of them remotely from my iPod touch using the wireless connection to my computer.
This will let me select, start and stop backing tracks that I can play along to (I play piano/keys in a blues band) without continually having to go over to the computer to select what I want to play.
Since this is all on Windows I was looking around for some way to do SSL (and thus support https) in the Windows environment and came across something called OpenSSL. Right now I have no idea how to use this thing but if I can get it to work in the windows environment it might then be worth trying to get it to compile in a z/OS environment such that I could then use it within my Rexx code. All very speculative right now and a good way off as I am reworking my player web interface to use jqtouch instead of iui, loads of fun!
If I ever get around to documenting the DEWS OCX interface I might even make it generally available.