Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
- Sockets
- Creating datagram sockets
- Receiving and sending data
- Creating and accepting TCP connections
- Closing sockets
- Handling errors
- Handling more than one client in a simple way
- Prefork model, as found in Apache
- Forking a new process per client
- Cleaning up after finished processes
- Threads
- Inetd, systemd units
- Waiting for data
- Blocking sockets
- Non-blocking sockets and select
- Select as a way to wait for "any of these sockets"
- Organizing reads and writes
- Dealing with short reads and writes
- Reading up to a delimiter
- Pipelined requests
- Application-level buffers
- Event-driven architecture
- Using select for multiplexing all client connections in one thread
- State machines
- Callback hell
- Event libraries
- "Green" threads
- Problem of 10000 connections
- Problems with prefork model and select-based loop
- poll as an alternative to select
- Realtime signals and why you shouldn't use them
- Epoll (linux) and kqueue (BSD)
- Why and when epoll and kqueue are faster than poll/select
- Timeouts and timers
- SIGALARM
- Timeout as a select argument
- A simple case of all-equal timeouts
- Priority queue as an abstract data stracture
- Binary heap as a priority queue implementation
- Timer wheel
- timerfd
- Integration with the operating system
- Traditional daemons
- Systemd socket activation
- Logging
- Handling signals
- Performance and scalability optimizations
- Choosing the right architecture
- Setting socket options
Requirements
- C language
- Linux user skills
14 Hours
Testimonials (5)
Learned a whole lot about the topic
Zsolt Langviser - Accenture Industrial SS
Course - NestJS: Beginner to Advanced
The training has good content and easy to follow
David Phetole Leshabela - Vodacom SA
Course - React with Next.js
The breadth of the topis covered was quite a bit and the trainer tried to do justice to that.
Lakshmipriya Sivakumar - Deque Systems Inc
Course - Spring Boot, React, and Redux
trainer very knowledgeable clear classes explains the importance of learn the topic gives enough background on topic
Li Fang Bren Ong - DBS Bank Limited
Course - Ant Design
Although I had a pretty good knowledge of the subject already, I found out a lot useful stuff during the course.