Since I don't have a help file yet, I'll try to compensate with this FAQ.
Q: What does multi-threaded actually mean?
A: Your computer splits up multiple tasks into independent threads, or segments of code that run simultaneously. That’s why you can be browsing the web at the same time your music player can play music, for example. Two tasks at one time.
Gmsock utilizes the same technique, liberating socket handling code from GMs thread. This leaves GMs thread free to do the important part: Run the game. Previously, a laggy connection meant a laggy framerate. Not any more! Since GMsock threaded runs in a separate thread, the slow network doesn't bog down the actual game.
Q: What’s the difference between TCP and UDP?
A: TCP stands for transmission control protocol. TCP best parallel a phone. You call someone, exchange data (or for your normal folks, chat ), then hang up. TCP works the same way, by creating a virtual stream between two computers. The problem with TCP is that is tends to be slow. TCP utilizes several methods of insuring data integrity, or in laymen’s terms, making sure your data actually got to the other end. Thing is, most games don't need this. Will it kill you to have a player not in the exact correct place for one frame? Probably not.
UDP, on the other hand, is more akin to the postal system. You mail the letter, and bada-bing, bada-boom, go about your business. There’s no way of knowing if your letter got there, or even if it was corrupted during transit. The advantage is the go about your business part. UDP has a much lower overhead, or the amount of time it takes to actually send data. So UDP is usually the logical choice for high action games.
UDPs downside, however, is that it requires both ends to have a properly configured router and/or firewall, where as on TCP, only the hosting end must have it configured. That’s why most commercial MMORPGs use TCP, but cut corners elsewhere, like click to walk. It only needs to send one packet, where you clicked, so they can live with the overhead of TCP. But high action games like FPSes tend to use UDP, and That’s why they are so finicky about their routers.
Q: I think I found a bug. I'm now going to e-mail you my entire game, all the while spamming your screen name with "iT Don’t W0rK LOL WTF!!1!1!11"
Anyway, you can download GMsock Threaded 1.1 (build 521) here, or until my site is up, get it here
Matthewbot (aka, The Sock Master)
Unfortunately, due to time constraints and lack of interest, you can pretty much consider this project over. If I feel like it, I could help/explain a thing or two if you PM me, but I probably won't roll out any new versions, or make a tutorial/help file. You might be better off choosing another network DLL with better documentation that is still under active development.
Edited by matthewbot, 02 January 2006 - 02:06 PM.