CSEPracticals - System Programming and Networking Development Courses

Only Projects and Courses - No DS/ALGO/CP !


Advanced TCP/IP Socket Programming in C/C++ ( Posix )

Design Complex TCP Server, C/C++, Project, Multi-Threading, Posix, Network System Programming, Linux OS Based

Rating 4.5 (55)      1055 students

Last Updated : 10/2022

Created by : Abhishek Sagar, Shivani Nigam, Ekta

  Best Seller on Udemy  

image


What Will you Learn ?

  • Advanced TCP Socket Programming

  • Defining TCP Message Boundaries

  • Develop TCP Server Socket Library in C++

  • Building Circular Byte Buffers

  • Build Github portfolio, strengthen your employability

  • Creating Multi-Threaded TCP Clients


Requirement

  • Knowledge of Basic Socket Programming

  • Basic Multi-threading Concepts

  • C or C++ in preferable, but if your fav language is any other mainstream language then also it is ok. Borrow the concepts and implement it in your fav language.

  • Zeal to learn and excel - beyond what Crowd is doing ( DS/ALGO/CP ) basic Data structures such as Linked-List.

  • Github Account


Who is the Audience ?

  • Warning : Not for Absolute beginners in Programming

  • Who want to take their programming Skills from Beginner to Professional Level

  • Final year students looking to crack the Interview Questions on OS, Multithreading Concepts


Description 

Welcome to this Course on TCP/IP Socket Programming. Unlike other Courses, this is Advanced Course on Socket Programming. This course assumes that you are already familiar with Socket Programming basics and now want to take it to the next level. This course is about how TCP/IP Socket Programming is deployed in the industry to solve complex networking problems.

We will go beyond simple implementation of client/servers programs present all over the internet ( Advanced Course )

Course objective: Learn how to implement a typical complex Socket based Programs, closely tied to thread management


In this course, we will be going to build the Complete TcpServer Program in which we will cover :

  1. How to manage Multiple Clients through Multiplexing

  2. Notifying events to the application

    1. Client new connection

    2. Client disconnection

    3. Client msg recvd

  3. TCP Message Demarcation

    1. Fixed Message Size Demarcation

    2. Variable Message Size Demarcation

  4. Integrate CLI interface with the Project

  5. Gracefully Shutting down TCP Server

    < Delivered Till here as on 30 Oct 2024>

  6. Creating Multi-Threaded Clients

  7. Forcefully disconnecting the client

  8. Detecting connection live-ness using Keep-Alive msgs

  9. Handling Concurrency using locks

  10. Maintaining statistics per client connection

  11. Client Migration from Multiplexed to Multi-Threaded ( Or Vice Versa )

  12. Building Socket Programming C++ Library over Posix


This Course is not a :

1. Teaching basic Socket Programming and fundamentals

2. C/C++ programming language tutorial

3. Data Structure or Algorithm Course

4. Multithreading Tutorial


* We don't use any third-party library. Everything is built up from scratch. 

* The Emphasis of this course is on Logistics & Concepts, rather than Programming Language. You should be able to do this Course in a programming language of your choice - Java/Python etc.


Table of Contents

No chapter found in this course