Comments 14
Thanks a lot to the author for this article! It was pleasure to read about coroutines. Now I understand coroutines much better than before. The material is interesting, well structured, and the page provides enough information.
Спасибо за хорошую статью было приятно читать.
The following is server session:
Зачем писать на русском по-английски, если не нейтив? На русском нет артиклей.
emphasis on basic knowledge in sockets and TCP/IP is good. Its important to have strong foundation in these areas for effective network programming.
I'm intrigued by the idea of using coroutines for asynchronous programming, but writing platform-dependent code sounds challenging. I'd like to learn more for sure.
Coroutines in C++ are platform independent. However, the input/output multiplexing mechanism may be platform dependent. In the above examples I use select
which is available on all platforms. Platform-dependent code can be viewed on GitHub via the following link https://github.com/resetius/coroio/blob/master/src/all.hpp#L19
epoll backend: https://github.com/resetius/coroio/blob/master/coroio/epoll.hpp
kqueue backend: https://github.com/resetius/coroio/blob/master/coroio/kqueue.hpp
uring backend: https://github.com/resetius/coroio/blob/master/coroio/uring.hpp
Paths in the repository can be changed, if this happens, then use the link to the root of the repository: https://github.com/resetius/coroio
I appreciate the detailed explanation of asynchronous programming in C++. Coroutines seem like a powerful tool, and it's good to know that C++ 20 offers more support for them.
As someone new to network programming in C++, this article seems like a great starting point.
GeeksforGeeks is a great resource! I've found their tutorials really helpful in the past, so it's great to see it mentioned.
well organized, clear article, easy to follow! thanks for sharing
I'm intrigued by the idea of using coroutines for asynchronous programming, but writing platform-dependent code sounds challenging. I'd like to learn more for sure.
nice easy read, some good advice too!
High-performance network library using C++20 coroutines