Boost probablemente tiene la mayoría de lo que necesita en términos de threading y networking I/O.
También puede encontrar Qt una buena alternativa. También tiene librerías de enhebrado y conexión en red y tiene un modelo de programación basado en eventos mucho más fácil de usar que usa un ciclo de ejecución. El sistema de señales/ranuras de Qt es muy fácil de usar e ideal para un daemon/servicio de red (Boost también incluye un sistema signal/slot pero es más difícil de usar y no incluye un bucle de eventos; debe realizar su propio uso de alguna biblioteca de eventos) . Como una biblioteca multiplataforma, Qt puede manejar muchos de los problemas relacionados con el modelo mental de Unix (OS X y Linux) frente a Windows para procesos, sistemas de archivos, etc.
Para pruebas de unidades, he estado muy feliz con la biblioteca de pruebas de unidades C++ de Google llamada googletest (aunque tanto Boost como Qt también tienen sistemas integrados de pruebas de unidades). Se ejecuta en todas las plataformas que especifique. He trabajado mucho con googletest en proyectos Qt multiplataforma y considero que es bastante satisfactorio.
realizo esta pregunta es muy, muy viejo, pero recientemente he desarrollado una pieza relacionada de software que no responde directamente a la pregunta: https: // github.com/cubiclesoft/service-manager/ No es una biblioteca, pero se ocupa de las dificultades de escribir servicios de sistema multiplataforma. El código fuente está escrito en C++, pero eso es casi irrelevante. – CubicleSoft