c asynchronous socket library