Advertisement

Looking for a "networking for noobs" tutorial

Started by October 22, 2014 01:04 AM
2 comments, last by ElGeeko7 10 years, 1 month ago

Hi every1,

So I think I'm getting to the point where programming - or at least programming languages - is no big deal; I know all the major concepts (variables, data types, arrays, loops, classes, inheritance etc.) and I've created a few games in Java, C#, and HTML5 (though I gotta admit JavaScript's "class-less" structure is still a bit confusing at times lol). Beyond the gaming stuff I've also gotten good at AutoHotkey, VBA, PHP and a few others. So what I'm asking for here has little to nothing to do with "programming" like some ppl probably ask for on here.

But at the same time, I don't know Jack about networks. I get the basic concept of HTTP, and I know how to tell a program or script to send an HTTP request and process the response, but that's about it. A lot of times in sites like MSDN, Java's "Docs" etc. I've seen references to stuff like "sockets", "TCP", "SSL" (which I think is the tech behind HTTPS, right?) and other jargon that I guess you have to just know. The docs never really seem to explain what something "is" so much as what it "does" and what you can do with it (which again is great if you already know what you're doing, lol). Wikipedia's kinda the same deal, because I find myself clicking on every term with a link, which of course leads to another page loaded with terms with links.

And how does any of that stuff relate to games? All I really know for sure is the game has to somehow send info to a server (and possibly a database if there's a lot of info 2 keep track of) and get info back from the server (on positions of other players, new objects like bullets or whatever) and do it all quickly enough to prevent lag. But how should all that be done? These are the kinds of questions I'm currently trying to figure out. So while learning languages has come easy, this stuff is all Japanese to me (4get Greek). :)

So is there... idk... like a "hello world" level tutorial out there, something that demonstrates the basic concepts in plain English (or even plain Spanish)? I'm guessing it'd be something like a simple chat application, or maybe Pong, u get the idea. Thanks in advance for any suggestions. :)

What have you searched for already, and how did that work out?
Like "Java networking tutorial" or somesuch?
If you have C/C++ background I could recommend looking at some RakNet tutorials, which are going to be more game-specific.
Another option is to read the book TCP/IP Illustrated, by Stevens; it's a very good introduction to the basics of networking.
enum Bool { True, False, FileNotFound };
Advertisement

You might start with a visit to the networking forum's FAQ.

Networking is layer after layer after layer of protocols, so it is understandable to be confused at first. Networking layers range from the application on one end ("how should I format chunks of data that should my application send?") all the way through the physical layers ("how do bits fly through the air in wifi?", "how do burst of light on fiber transfer data?").

The FAQ links apparently haven't been cleaned out for a while so some are broken, but start with the links under FAQ entry #1 that cover a lot of the system-level side of networking. Beej's Guide (among the links in FAQ entry #1) is an amazing tutorial. He has even published it to a 150 page book. Read, learn much.

After you've spent a few days digesting and experimenting with the content in entry #1's links, go through FAQ entries #9 through #16 and read all those links, they will make more sense as you've gained experience.

Then read the rest of the content in the FAQ for good measure, being aware that it hasn't been seriously updated in several years.

Hey, thanks! :)

I will definitely check out the links (and thanks for pointing out the ones that are still active lol), and I'm sure I'll be able to at least know what to look for from there. This sounds great, because even tho I've been programming for years, I never knew where to start to learn "system-level" stuff like this. I know what a bit and a byte and a protocol are, but have no idea how they travel across wi-fi, let alone how to use them. Now I got some solid leads which is a huge step in the right direction.

This topic is closed to new replies.

Advertisement