Giter VIP home page Giter VIP logo

magshimim-ex13's Introduction

Ex13 - Multi-Threaded Server

Link to ex13 google drive folder: Ex13 Google Drive

The last exercise in 'Advanced Programming' course first semester!
This time we are going build a chat server, that manages clients and messages that clients send each other.
Ex13 will require us to use OOP, Data Structures, Threads, Synchronization and Sockets.
In this exercise, you will implement a server, and use a client app that was already built for you.
The purpose of this exercise is to to build a system that uses most of what we learnt throughout the semester.

Please note! To test your exercise, please use the tests found in this repo:
https://gitlab.com/tomeriq/magshimimex13tests

Demo

Contains files and information necessary to run a demo for this exercise.
This demo is a good way to see what is the expected result, and how it should look after you are done.

Helper.h/cpp

Files that contains static functions you can use in your exercise, make sure to use them, it will save you time!

client_server_comm.pcap

A "packet capture" (.pcap) file, that contains an example of a simple client-server communication.
Use WireShark to open this file and see the message format and conversation flow you are expected to support.

.gitlab-ci.yml

Pipeline file for auto-tests

Submission details

Files to submit:

MagshiChat Server

Submit all the files required to run the server you implemented.
Remember to include a main.cpp file.

MagshiChat Client

Remember to also submit the MagshiChat.exe file with the config.txt file you use to run the client side.

Bonus - Client Side Code

In this link you can find the code files for client side application that connects to our server.
You can use this code if you want to change or improve the client side code, this is a bonus!

magshimim-ex13's People

Contributors

netfri25 avatar tomerliorcyber avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.