Each approach has its qualities and defects. The select one has speed but isi s more complex to program and have a hardcoded limit to how many sockets it can handle each time (the fd_set struct size).

I suggest you to look the "Unix Network Programming 3rd" book and accord with yout project choose the more suitable one.