select
to implement selectors and therefore I feel like I have to add this extra post for completeness GNU/EDMA is library that implements several object oriented features in plain C. Its last version was 0.18.6 and there is a new 0.19.1 which fixes some bugs and is more functional. Version 0.18.6 added some functions that have not been documented elsewhere so I have decided to write a tutorial in case someone wants to use the system
I'm very happy to announce that I have finally updated GNU/EDMA to support 64 bits platforms. Unfortunately I signed off as maintainer earlier this year so I still do not know how to release the update. In any case I will explain in this post what was the problem and how I solved it.
So far we have been using text strings as the basis for our protocols, but sometimes you may be interested in using binary protocols. Overall, a binary protocol is more efficient and depending on your application may be the right choice. However, binary protocols are not that straightforward and have their own peculiarities.
Single client servers work fine for simple applications but in more complex cases when multiple connections need to be managed at the same time, you will end writing a multi-thread application that takes up much more resources than needed. Let's see how to write this kind of applications in an efficient way.
In the previous instalment of this series we built a TCP echo server using standard Java sockets and also the direct operating system syscalls in a C version. Both programs looked very similar. In this instalment we are going to explore the Java NIO package which offers some advantages.
In my current journey to master Java again I decided to explore network programming as a way to practice. I'm used to code network application in plain old C, so in these posts I will be comparing Java and C so you can have some starting points for your transition in either direction.
Yes, you have read it right. Unless you are a compiler or a exploit developer you do not really want to know anything about stack canaries. You just need to know they exists and will prevent stack overflows. But if you want to know how they work in detail, then keep reading.