Thanks to open-source, a couple of Protocol Buffers Libraries exist for C. Choosing the right one depends complexity and memory/performance requirements.
After doing usability tests for a year, this is the advice I would give my past self — prepare, practice, work with a pair, and above all, stay flexible.
Using Python's new asyncio library, we see how coroutines dramatically simplify asynchronous networking code vs. callback-based asynchronous implementation.