> For the complete documentation index, see [llms.txt](https://ykkim.gitbook.io/ec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ykkim.gitbook.io/ec/other-programming/socket-programming.md).

# Socket Programming

## TCP/IP Programming in C/C++

we will discuss the socket API and support for TCP and UDP communications between end hosts. Socket programing is the key API for programming distributed applications on the Internet.

#### Server and Client

Clients normally communicates with one server at a time. From a server’s perspective, at any point in time, it is not unusual for a server to be communicating with multiple clients. Client need to know of the existence of and the address of the server, but the server does not need to know the address of (or even the existence of) the client prior to the connection being established

Client and servers communicate by means of multiple layers of network protocols. In this course we will focus on the TCP/IP protocol suite.

![](https://3453146497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgmrEstOHxu62gXxq1t%2Fuploads%2Fgit-blob-6616ff753d74f906a4036eb6a06e610728be5df3%2Fimage.png?alt=media)

[Read socket programming](https://www.cs.dartmouth.edu/~campbell/cs60/socketprogramming.html)

![](https://3453146497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgmrEstOHxu62gXxq1t%2Fuploads%2Fgit-blob-b055957c0666531be85a85e1f0a24e5cde1b6633%2Fimage.png?alt=media)

###

### Arduino
