It is common design for your requirement to fork a new child process to handle new request. If using tcp mode, child process shall exit after request handled, if using udp mode, you can send address info of applicant to one child process by message queue. In last case you can use process pool.