I'm trying to create a UDP messaging service on Unix. The idea is to have a Service Center (SC) that will handle all the receiving and sending of messages from one user to another. I have some problems:
1) How many sockets should I use on my SC? I'm thinking only one that will handle everything;
2) My SC should always be listening for new stuff coming in. I'm thinking of creating a new process/thread to handle the received message. Should I use fork? or pthread?

Thank you