The "C" code is very poor.
strtok is not reentrant safe. And why use it, when looking only for " ", use strchr.
strlen() is used over and over, instead of keeping lengths somewhere.
Also comparison to "set" / "get" could be than char by char, or by using the perfect hash generator somewhat faster code (but even by hand it can be made very fast).
'get ' and 'set ' can directly be checked using one uint32_t rather than byte by byte comparison....
And let's not talk about the needless hidden calls to memory allocation, instead of using slabs, or something more appropriate for the task. (strdup so many places too).
But that's all heresy. I'm a video game programmer, give me such code and I'll beat it up, except send/recv. So what? So fucking what?