I'd struggled for so long in network API stew
I was all over the place, I didn't know what to do
I'd tried NetBIOS, ECB's and TLI
All I wanted was just one simple API
The answer came in a virtual way
From cavorting with my friends in cyberspace one day
One of them said "I hear WinSock's cool"
I thought I was dreaming, I confess to a drool
The first thing I did was FTP to SunSite
I used a character mode program - I hadn't seen the light
I got the WinSock spec, I opened a beer
I started my word processor and prepared to cheer
When I saw the word "sockets," I knew things'd turn out right
When I was at school we'd talk Berkeley UNIX all night
But what was this, some new routines, lots starting "Async"
Oh no I've work to do, I'd better have another drink
The more beer I drank, the clearer it became
I could still use Windows messages, my code could stay the same
So I wrote my socket(), bind() and connect()
And used this new routine, something AsyncSelect()
I had that little shiver, a quiver in my liver
Was it beer, was it fear or would my code deliver
I double-clicked my icon, crossed my fingers and prayed
I socket()ed, connect()ed and got messages all day
Now I think I've got the hang of this "AsyncSelect"
So I mailed to the list, I said "Hey, what's next?"
The answer came back: "It's time for something new"
"Hold on to your hat, Here comes WinSock 2!"