Category: 

What Is Computer Network Programming?

Article Details
  • Written By: M. McGee
  • Edited By: Lauren Fritsky
  • Last Modified Date: 17 August 2017
  • Copyright Protected:
    2003-2017
    Conjecture Corporation
  • Print this Article

Computer network programming describes the process of making programs that are able to use network communication to operate. Programs made using this method — essentially any program that requires other networked programs to operate — are called a distributed system. These programs basically fall into three categories: connected, non-connected or peer-to-peer. These categories describe, in broad terms, the way the program uses the network connection and the relationship it has with programs on the other end.

When talking about computer network programming, the term "network" is very broad. It covers everything from local intranets, where a single person shares access between connected systems, and full-on Internet access, where the systems may be thousands of miles apart. Regardless of the purpose, location or distance between programs, they all need multiple pieces in different places to operate correctly.

The common term used to describe these programs is ‘distributed system.’ This basically means that the individual parts of the program have been distributed out to multiple locations. The program acts like a single system, but it requires the network to let those systems interact.

In general, computer network programming falls into three categories. A connected system requires that two or more systems communicate constantly in order to function. These are often client/server relationships, where many single clients all connect to one large server. In these cases, there is generally a fair amount of inequality, typically one half of the connected system is far more important or has more functionality than the other.

Non-connected computer network programming creates systems that need to talk to one another, but will operate independently. While this model has many applications, a common current use is the authentication server. In this setup, a program is full and complete in one location, but will not operate unless instructed by a different program. When a user attempts to use the program, it will query the authentication server for permission and the server will respond. The information on the server is unnecessary to the program, but it won’t work unless they can communicate.

The third type of computer network programming is peer-to-peer. In this style, the programs are both a client and a server, both sending and receiving information all at the same time. These programs will typically connect to other programs of the same type, making a closed system comprised of hundreds, if not thousands, of independent systems. This is generally the most balanced of the computer network programming styles as each individual program is essentially the same.

Ad

Recommended

Discuss this Article

everetra
Post 4

@SkyWhisperer - I’m not a fan of the peer-to-peer technology myself. I do agree that the technology is not inherently bad but I haven’t seen too many practical applications other than online piracy.

If you want the best example of using multiple computers to get a job done, then I suggest that you consider real distributed computer network systems. This is where a software program is offloading a lot of its “brain power” onto hundreds or even thousands of computer systems, using their processors to do its work.

A real popular example of this is SETI. SETI is the Search for Extraterrestrial Intelligence and they are constantly scanning the heavens. They created a computer program that users can download and install on their computers to assist with the search.

The programs plug into SETI scanners and listen in for unusual signals. If they hear anything strange, it gets sent back to SETI, where they can look into it more.

SkyWhisperer
Post 3

@nony - I think authentication servers are common in a lot of web based software applications. Basically you log on and the program authenticates you against a server to make sure that you have proper authorization to use the program.

I’ve heard that hackers can break these things, so to speak, but I think it’s becoming harder and harder to do that, because I believe they use a lot of encryption algorithms. That’s why it’s safe for you to do shopping online, assuming that you are visiting a reputable Internet site.

nony
Post 2

@allenJo - I think everyone knows what peer-to-peer is, even if you’re not a programmer. This is because peer-to-peer technology has been made famous in the world of online software pirating.

These networks enable computer users to share their files with other computer users on the network. These are all kinds of files, from music, to copyrighted software, to personal documents – whatever.

The technology itself is not evil in my opinion (technology rarely is) – it’s what people do with it. The courts have come down pretty hard on companies that sell this kind of peer-to-peer software but the software itself is quite useful on its own.

allenJo
Post 1

I work for a software company and develop client/server applications. Actually our flagship product is what you would call a “thin” client. It’s called thin because it is pretty much just an interface.

The backend is the database, but it’s up to the end user what database platform they want to use. They can use Oracle, Sybase or Access. We are also getting into SQL Server too as a lot of companies use that for their database platform.

I would have to say client/server products have their advantages and disadvantages. The advantage is that the database backend can be huge, if you need to put a lot of data in it. The client doesn’t have to worry

about that.

The disadvantage of course is that you can’t bundle the backend with the client product, so it’s not a complete solution in itself. Nowadays people want everything on one CD and this breaks that up. Still, our customers don’t mind because it’s a good product.

Post your comments

Post Anonymously

Login

username
password
forgot password?

Register

username
password
confirm
email