LibEventCpp is a lightweight and portable C++14 library for event-driven programming. Implemented in a single header file for easy integration.
Features:
- Message event handler: Asynchronous message queue with event looper
- Signals and slots: Type-safe callback connections (Qt-style)
- Time events: POSIX timers with callback support
- Once events: Execute callbacks conditionally (once per life, N times, value change, interval)
- Toggle events: One-shot triggers with reset capability
- File descriptor events: Monitor file descriptors using poll()
- Signal events: POSIX signal handling wrapper
- File system events: Monitor file system changes using inotify (Linux)
beej was also a great place to take the first steps in network programming :) I just updated my reference list. This is one of my missing piece. Thank you for the reminder.
In my opinion, Linux network programming, especially socket programming, isn’t that difficult. However, learning this topic on your own can be challenging because many online resources are unclear, and sample codes often only cover the basics. You might find yourself unsure of what to do next. That's why I created this tutorial. It aims to give you clear guidelines and plenty of examples to help you understand better.
The Linux IPC feature provides the methods for multiple processes to exchange data and signals.
This guideline will introduce to you various IPC techniques, including File Locking, Pipe, Signal, Semaphore, Message Queue, Shared Memory, and Socket.
Each technique has its unique use cases and advantages.
https://github.com/nguyenchiemminhvu/software_architecture_w...