Questions tagged [p2p]

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application.

Peers make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply, and clients consume.

The peer-to-peer (P2P) application structure was popularized by file sharing systems like Napster. The peer-to-peer computing paradigm has inspired new structures and philosophies in other areas of human interaction. In such social contexts, peer-to-peer as a meme refers to the egalitarian social networking that is currently emerging throughout society, enabled by Internet technologies in general.

What is it?

This is a special kind of network type ('network topology' is the fancy description). It describes computers that are networked to each other without a central server being in-between.

Why was it developed?

Peer-to-peer networks are very popular with people who want to share files directly with one another. The files do not have to be stored on a central server.

Software has been developed that can even put together a file from bits of the file stored across several 'peers' on the network. For example, BitTorrent can do this. The advantage is that no single computer needs to be over-loaded when a very popular / very large file is requested.

Why is it important?

It is an important development, because it will affect the way the Internet is used in the future.

Many companies want to provide 'video on demand' services, but the problem has been how to provide the vast bandwidth needed when thousands of people are asking for the same video file, e.g., the latest episode of Lost or 24.

Peer-to-peer is an ideal solution to the problem, because hundreds of computers can hold parts of the video and so share the load.

Some companies are calling the peer-to-peer connections they are building 'The Grid' which is a trendier name for the same thing.

What about the future?

In the near future, high definition television programs may be delivered through the Internet and so peer-to-peer may be used.

References

1970 questions
6
votes
1 answer

P2P (browser to browser) with Java

I would like to implement a Java application which runs on a webpage and allows: User A (from its browser) can request a file to User B (with its browser opened). Of course User A knows User B's IP and port. User B can respond this request from its…
user411103
6
votes
2 answers

Search for file in IPFS by its filename?

Is there a way to search for files in IPFS by its filename? If I want for example search for a subject in IPFS, I suppose this subject is in the filename like some-subject.pdf, then, there is a way to retrieve the hashes of the files containing the…
Fnr
  • 2,096
  • 7
  • 41
  • 76
6
votes
2 answers

Any issues with the System.Net.PeerToPeer library?

I have been looking into the namespace for System.Net.PeerToPeer in .NET 4.0 and the classes provided in this library seem to be reasonably good for building P2P networks. However, when I search for examples and references, I can only find old…
k rey
  • 611
  • 4
  • 11
6
votes
1 answer

Understanding Stun working

I went through the Programming P2P application SO post. but I think I'm still unclear as to how the STUN work under the hood. So, I would like to post my understanding and hope to get them corrected. as per the example assuming that machine (A) IP…
Viren
  • 5,812
  • 6
  • 45
  • 98
6
votes
1 answer

Is it possible to open a port in Javascript for communication on the network?

I saw that Socket.IO and Websockets usually require NodeJS or similar but don't run on clients. Is there any possible way to open a port for accepting communications using JavaScript? So devices can talk to each other on a network, peer2peer (acting…
Kevin Van Ryckegem
  • 1,915
  • 3
  • 28
  • 55
6
votes
1 answer

How does peer to peer actually work network/port wise?

So I've been looking into sockets and stuff, mostly c++. I've learned (not yet executed cuz I'm lazy) non-blocking IO, and once I actually start working on my project I may just have a really nice overall structure for the server to hold a lot of…
TrisT
  • 639
  • 6
  • 19
6
votes
2 answers

WebRTC local signaling server

I am trying to figure out a solution for a signaling server for an Android WebRTC based project. Both clients will be Android and both located close to each other, i.e. - within 100 yards or less. I would like the solution to work without the use…
Sofia Clover
  • 669
  • 1
  • 7
  • 18
6
votes
1 answer

Open Internet P2P Socket Connection

This is a much-discussed topic, I know, but I'm hoping there are some innovative ways, or some that I just haven't come across to do it. In essence, I need a way of building a peer to peer connection between sockets running on two client machines.…
Matthew Haugen
  • 12,916
  • 5
  • 38
  • 54
6
votes
1 answer

WebRTC how STUN server feedbacks the SDP and ICE candidates?

I'm testing WebRTC procedure step by step for my sake. I wrote some testing site for server-less WebRTC. http://webrtcdevelop.appspot.com/ In fact, STUN server by google is used, but no signalling server deployed. Session Description Protocol (SDP)…
user1028880
6
votes
2 answers

Resolve metadata of a torrent from the hash (or the magnet link)? Ideally in python

I'm trying to take a magnet link (ie. magnet:?xt=urn:btih:640FE84C613C17F663551D218689A64E8AEBEABE) and fetch the metadata for it (title, files, comment, whatever else comes with a .torrent file). Ideally in python, but I'll take any info I can get
Finn
  • 364
  • 5
  • 10
6
votes
4 answers

Data structures for real time applications

We are designing a p2p applications using c++ which transmits voice to other peer using UDP. We are capturing a mic signal in a buffer in the thread which captures voice for one second in the while loop. For every second voice captured in buffer it…
Xinus
  • 29,617
  • 32
  • 119
  • 165
6
votes
5 answers

Direct P2P connection

This topic resembles this thread I'm rather new to the topic of network programming, never having done anything but basic TCP/UDP on a single local machine. Now I'm developing an application that will need P2P network support. More specifically I…
Kasper Holdum
  • 12,993
  • 6
  • 45
  • 74
6
votes
6 answers

P2P network games/apps: Good choice for a "battle.net"-like matching server

I'm making a network game (1v1) where in-game its p2p - no need for a game server. However, for players to be able to "find each other", without the need to coordinate in another medium and enter IP addresses (similar to the modem days of network…
yairchu
  • 23,680
  • 7
  • 69
  • 109
6
votes
4 answers

Peer to Peer communication between iOS and Android devices

So I am a relatively new iOS developer but thanks to Stackoverflow, i managed to get peer to peer data communication for my app working without the need of a server using gamekit/GKSessions. Basically, one iOS device acts as a server and others…
Venkat
  • 820
  • 1
  • 7
  • 16
6
votes
1 answer

Bittorrent Peer Wire Protocol implementing in Java

I have a couple of questions regarding the Bittorrent Peer Wire Protocol. I am trying to implement it in Java using this spec. In Peer Wire Protocol section it says that all integers are four byte big endian values. AFAIK java uses big endian. Does…
Hamza Yerlikaya
  • 49,047
  • 44
  • 147
  • 241