I have developed a single server multiple client udp application using multithreading. Now I want to implement the server using asynchronous sockets so that it may be able to handle multiple clients at a time. Will this approach work fine? Is it correct to use asynchronous socket if you want to handle multiple clients using one single server? Is using asynchronous socket a better approach than using threads for handling multiple clients?