I am quite new to network programming and I would like to create a simple non-blocking TCP server class in C++. After searching, I saw that I can implement it using Berkeley Sockets API or I can use external libraries such as Boost.Asio or POCO.
My question is, what are the pros and cons of using those libraries over Berkeley sockets API?
EDIT: To be more specific, I am not looking for what will be more easy to work with, as this is individual opinion I guess. I am looking for facts such as performance? dealing with multi-threading? and maybe other aspects from expirienced programmers.