there isn't a need for "which service to run?" they both need to run. some p2p use a central server to coordinate clients. others have the client operate as a server as well. this is a decentralized model. any one node can go down and the system can still operate.
there isn't a need to ask "which service should run?" both need to: the client and the server. the end user wouldn't make this decision.
I would take a step back and ask;
1. what functionality do you need?
2. does this functionality already exist?
3. if yes, can I integrate it into my project?
4. if no, what does it take to build it?
5. do I have the skill set to build it?
right now it seems like you are blindly re-creating the functionality without any real understanding of why or how to actually do it. When you ask for help it comes across as "can you do my work for me?". That may not be your motive, but that what I'm reading in your questions.
Jason Meckley
Programmer
faq855-7190
faq732-7259