-- response --
If you like books, I'd recommend picking up a copy of "Programming Multiplayer Games", by Andrew Mulholland. It's a nice lightweight introduction to multiplayer network programming.
It covers basic TCP/IP networking, constructing a network library for use in a game, and how to construct some simple multiplayer games, including dealing with latency in games.
I also recommend the June 2001 issue of gdmag that has the article "Leveling the Playing Field: Implementing Lag Compensation to Improve the Online Multiplayer Experience"
by Yahn Bernier. This article has an excellent discussion on dealing with lag in FPS games. I didn't see an online copy of this. If I find one I'll post it here.
Another by Bernier is "Half-Life and Team Fortress Networking:
Closing the Loop on Scalable Network Gaming
Backend Services": http://www.gamasutra.com/features/20000511/bernier_01.htm
This requires free registration at Gamasutra.
Brian Hook also posted a nice description of the Quake3 networking model at: http://www.bookofhook.com/Article/GameDevelopment/TheQuake3NetworkingModel.html
A nice class based multiplayer network system is the Torque Network Library, which is reasonably documented and can be found at: http://www.opentnl.org/ There is a nominal charge to use it commercially however.
Unless you want to dance in rings of fire, you are really going to want to design the multiplayer capabilities into your game from the beginning. The other sad truth, is a lot of the gotchas are only going to be learned after the experience of doing it.