VOOZH about

URL: https://www.geeksforgeeks.org/c/tcp-server-client-implementation-in-c/

⇱ TCP Server-Client implementation in C - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

TCP Server-Client implementation in C

Last Updated : 11 Jul, 2025

Prerequisites - Socket Programming in C/C++, TCP and UDP server using select, UDP Server-Client implementation in C

If we are creating a connection between client and server using TCP then it has a few functionalities like, TCP is suited for applications that require high reliability, and transmission time is relatively less critical. It is used by other protocols like HTTP, HTTPs, FTP, SMTP, Telnet. TCP rearranges data packets in the order specified. There is absolute guarantee that the data transferred remains intact and arrives in the same order in which it was sent. TCP does Flow Control and requires three packets to set up a socket connection before any user data can be sent. TCP handles reliability and congestion control. It also does error checking and error recovery. Erroneous packets are retransmitted from the source to the destination.

The entire process can be broken down into the following steps:

👁 Image


The entire process can be broken down into following steps:

TCP Server -

  1. using create(), Create TCP socket.
  2. using bind(), Bind the socket to server address.
  3. using listen(), put the server socket in a passive mode, where it waits for the client to approach the server to make a connection
  4. using accept(), At this point, connection is established between client and server, and they are ready to transfer data.
  5. Go back to Step 3.

TCP Client -

  1. Create TCP socket.
  2. connect newly created client socket to server.

TCP Server:

TCP Client:


Compilation -
Server side: 
gcc server.c -o server 
./server

Client side: 
gcc client.c -o client 
./client

Output -

Server side: 

Socket successfully created..
Socket successfully binded..
Server listening..
server accept the client...
From client: hi
To client : hello
From client: exit
To client : exit
Server Exit...

Client side: 

Socket successfully created..
connected to the server..
Enter the string : hi
From Server : hello
Enter the string : exit
From Server : exit
Client Exit...
Comment