Originally posted by Waffen
Umm... I could probably give you this..
I have several. The only one I have which I could legally give you is one I wrote myself when WinSock 2 first came out. It is tested and has been used successfully.
It impliments UDP and TCP, but more importantly it has RUDP (Reliable UDP) which basically is a faster (non-linear) TCP. It's built over WinSock 2, so works on all flavors of Windows. It uses UDP headers plus a few bytes so is a far cry smaller than the 42 byte TCP header. It can be configured to guarentee delivery order (or not) but doesn't force a resend of more recent packets upon failure like TCP does, so you'll experience a huge speed increase on any connection which has a loss rate of over 1% or so.
I have no idea how easy it would be to impliment in your case, because it's been a while since I did any DirectPlay programming and have since burned the API out of my memory. General use is to open 2 com handles with each client (one UDP, one RUDP). These actually share two UDP sockets (one for broadcast and one for listening), but the internal stuff shouldn't really concern a user. You basically just write and read to each handle (either via a "stream" or atomic packets), so it's pretty simple.
Anyway.. I expect you have more important things you're working on, but I figured I'd mention it.