I am working on udp server/cient application. I want my Server to be able to handle 40 clients at a time. Right now I am using the approach of creating one receiving thread which continuously receives data and one sending thread for sending data if required. Since the socket queue is large enough to buffer data from 40 clients so I am using only one receiving thread. What might be other possible ways to implement such single server multiple client application?