Network Communication in C#: an overview

Programs talk to each other by sending messages over a network, even when both run on the same computer. Your C# app already does this with SQL Server; a browser does it with a web app.

Novice · Web Development · Updated

After this lesson you can

  • Explain why one program talks to another over a network, even on the same computer

Key takeaways

  • Each program runs in its own sandbox, so to get another program's data it sends a message and waits for an answer.
  • The program that asks is the client, and the one that answers is the server. One program can be both.
  • Messages travel over a network, using agreed rules called protocols, even when both programs are on the same computer.

Many programs need to work with other programs. The app you wrote in Connecting Apps to SQL Server is one: your C# program asked SQL Server for rows, and SQL Server sent them back.

Every program has its own space

Each program on a computer runs in its own sandbox: the operating system keeps one program from reaching into another's memory. That's what lets the others carry on when one crashes.

So a program can't simply read another program's data. It has to send it a message and wait for an answer. The other program has to be listening for messages, or nobody answers.

The network carries the messages

Those messages travel over a network, using agreed rules called protocols. The two programs can be on the same computer, or on two computers on opposite sides of the world: as long as they're connected, the messages get through. It's like one program phoning the other.

The program that asks The program that answers What they send
Your C# app SQL Server SQL queries one way, rows the other
A web browser A web app Requests for pages one way, HTML the other
An Angular app (later in the course) A Web API Requests for data one way, JSON the other

The program that asks is the client, and the one that answers is the server. The same program can be both: in this chapter you'll build a web app that is a server to the browser and, at the same time, a client of SQL Server.

Check yourself

1 question to try on the lesson page.

So what

Everything you build from here on is programs passing messages: a browser to your web app, your web app to its database. Knowing who asks and who answers makes the next lessons, on addresses, ports and requests, fall into place.

Key terms

Cheat sheets