Hello,
It is hard to write a decentralised p2p network client if you are inexperienced in programming, trust me, I'm writing a Gnutella client for over one year now and it still sucks (
www.darkalien.com /
http://www.sourceforge.net/projects/suicide )
However it may get you started if you check out some LimeWire source or just read up the protocol specifications on
http://groups.yahoo.com/group/the_gdf/files