Skip to content

Latest commit

 

History

History
37 lines (18 loc) · 4.03 KB

README.md

File metadata and controls

37 lines (18 loc) · 4.03 KB

Network Programming Assignment

Done in partial fulfillment of the course Network Programming(netprog), IS F462, BITS Pilani, Pilani.

1. Local Shell : UNIX Programming : Fork, Processes

We implement a basic bash-like shell with support for job control, process chaining using pipes, input-output redirection, and some custom commands such as double pipes, triple pipes and shortcut mode.[probem statement][design statement]

2. Cluster Shell : UNIX Programming : TCP Sockets

We implement a cluster shell with support for process chaining using pipes, use of * operator, and cd command.[probem statement][design statement]

3. Group Messaging System : UNIX Programming : System V Message Queues

We implement a group messaging system using message queues with support for creating, joining and listing groups, sending and receiving messages to and from private users and groups and auto delete messages.[probem statement][design statement]

1. Dummy Ping System Utility - RTT : UNIX Programming : Raw Sockets

We implement a ping system utility for IPv4 and IPv6 addresses, with features of simultaneous RTT calculations for a bulk of IP addresses, using I/O multiplexing.[probem statement][design statement]

2. Preforked Server Model : UNIX Programming : Server Models

We implement a preforked server model with dynamic handling of child servers to balance the traffic, with the help of UNIX domain sockets for inter-process communication.[probem statement][design statement]

3. Group Messaging on LAN : UNIX Programming : Multicasting, Broadcasting

We implement a P2P group messaging system for LAN users using multicasting and broadasting, with support for creating, joining and listing groups, sending and receiving messages, and filelists.[probem statement][design statement]

Small Lab Exercises as given in the problem statements are also implemeted as a part of the course.[1][2][3]