Skip to content

This repository contains solutions to six assignments for the Computer Networks course. The assignments cover a range of topics including TCP and UDP client-server programming, load balancing, HTTP client-server implementation, message-oriented TCP protocol implementation, and ping and traceroute implementation.

priydarshiroopak/C-socket

Repository files navigation

Computer Networks (C socket programming)

This repository contains solutions to six assignments related to C socket programming for my Computer Networks Theory(CS31204)/ Laboratory(CS39006) course at IIT Kharagpur. Each assignment is contained within its respective folder, and each folder contains a README file that describes the assignment and its solution.

This folder contains the completed solution for Assignment 1 of TCP Client-Server Programming. The assignment requires implementing two problems using TCP iterative servers and clients: Get System Date and Time, and Evaluate Arithmetic Expressions.

This repository contains the solutions for Assignment 2 of TCP and UDP Client-Server Programming. The assignment consists of two parts, each requiring the implementation of a client-server system: UDP Time Client-Server, and TCP Shell Client-Server.

This Assigment implements a simplified version of a load balancer, which balances the load between two computation servers (S1 and S2) based on their current load. It also provides a service for clients to request the date and time.

This folder contains the submission for Assignment 4 - Simple HTTP Client-Server. In this assignment, we have implemented a simplified TCP concurrent Hyper Text Transfer Protocol (HTTP) client and server based on applicable RFCs.

This is a C library that implements a message-oriented TCP protocol called MyTCP. The MyTCP protocol guarantees that anything sent with a single my_send call will be received by a single my_recv call, similar to UDP but with reliability and in-order delivery like TCP.

PingNetInfo is a program that takes a site address and finds the route and estimate the latency and bandwidth of each link in the path. It probes by sending ICMP packets and takes three arguments: a site to probe, the number of times a probe will be sent per link, and the time difference between any two probes.

Each folder contains a README file with more detailed information on the specific assignment and how to run the code.

About

This repository contains solutions to six assignments for the Computer Networks course. The assignments cover a range of topics including TCP and UDP client-server programming, load balancing, HTTP client-server implementation, message-oriented TCP protocol implementation, and ping and traceroute implementation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages