Skip to content

Client-Server Implementation of a Networked Printing Service

Notifications You must be signed in to change notification settings

Nizar1999/NetPrint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Languages

Client-Server implementation of a networked printing service for handling vast amounts of print requests coming from users with different levels of privileges and priorities.

Further Information

Specifications

Packet Composition

packet

A 1996 bytes payload size with a 4 bytes header, are enough to fit simple print requests. Protocol codes, placed in the header, need to be defined in order to identify and process requests accordingly.

Priority Data Structure

Print requests need to be handled based on priority. priorities

Multithreading

To be able to handle multiple users simultaneously, multithreading was utilized. multiThreading

Mutual Exclusion using Semaphores

Sempaphores were used to avoid two threads using the same Data simultaneously and to achieve uninterrupted printing.

Usage Example

Client

Launch

mainMenu

Register New Account

RegisterUser

Post Login

PostLogin

Print

Print

Server

Listening

ServerListen

Receiving Register Request

ReceiveRegister

Receiving Print Request

ServerPrint

Receiving Multiple Print Requests From Different Users

ServerMultiPrint

Logout

ServerLogout

About

Client-Server Implementation of a Networked Printing Service

Topics

Resources

Stars

Watchers

Forks

Languages