This is the repository for the course Networks Laboratory CS39006 for the Spring semester 2022-23, at IIT Kharagpur.
TCP Iterative Server to perform the following operations:
- Get the current date and time from the server
- Evaluate the expression sent by the client
TCP and UDP Client-Server Programming:
- UDP Client-Server to get the current date and time from the server.
- Concurrent TCP Server to list the contents of a directory on the server with the following options:
- Username and password authentication
- List all files
- Change directory
- Open a directory
Load Balanced Server using TCP:
- A client sends a request to the server to get the current date and time.
- The server sends the request to one of the two servers (Server 1 and Server 2) according to the load on the servers and receives the response from the server.
- The server sends the response back to the client.
HTTP Client-Server Programming:
- HTTP Client to download a file from the server.
- HTTP Server to serve the file requested by the client.
Message oriented communication using TCP:
- Library to send and receive messages using TCP with single send and receive calls.
- Custom socket library with following functions:
my_socket()
my_bind()
my_listen()
my_accept()
my_connect()
my_send()
my_recv()
my_close()
Raw Socket Programming:
- Raw socket to find the route and estimate the latency and bandwidth of each link in the path.