p2p

UDP Holepunching behind NAT

时光毁灭记忆、已成空白 提交于 2019-12-03 03:56:43
问题 I am trying to implement a simple sketch of UDP-Holepunching in Java to test it's concept and use it in my C/C++ application later on. Concept: As from Wikipedia I understood the concept as this: Let A and B be clients behind an undefined networkstructure and C a well-known public reachable server. A sends a packet to the server C, the server saves it's IP-Address and port. C will get the public IP-Address of A's NAT. Doing this, the NAT in front of A will create a route that will pass all

how do i make my own P2P software? [closed]

回眸只為那壹抹淺笑 提交于 2019-12-03 03:45:30
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 5 years ago . how can i make my own napster ? which library are these p2p programs using ? i am not too familiar with the concept of socket programming. could you make p2p program using Qt4 ? i've been wondering about this question since the Napster days. how would you also go about creating the next "bitorrent" ? is this by

The easiest DHT to implement

a 夏天 提交于 2019-12-03 03:45:24
问题 Which Distributed Hash Table (DHT) is easiest to implement in Python? Any good example that is not bloated? I not am looking for a definition of DHT because I am more oriented and focused on design and implementation of such. 回答1: If you are focused on implementation, rather than looking for an out-of-the-box solution, this article might help a bit: http://www.linuxjournal.com/article/6797 回答2: In my job I'm working with entagled. I can't say it's great code, but it seems to be the only

Are there any mature P2P frameworks/libraries in C#? [closed]

核能气质少年 提交于 2019-12-03 02:53:40
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. I am looking for a reliable P2P framework or library, preferrably natively written in C#, but can also work with something C# can interface with. Have you came across or have worked with a solid one? Leniel Maccaferri Take a look at this link: Brunet: a

Android, NSD/DNS-SD: NsdManager unreliable discovery and IP resolution

断了今生、忘了曾经 提交于 2019-12-03 01:53:17
In the course of the last weeks, Android's NSD implementation is making me go mad: From a user's point of view, the following problems arise: Devices discover each other in a completely non-deterministic fashion. If I launch my NsdManager -based app, it works more or less if only two devices are involved. If a third device joins, it will seldomly discover the first two , and the first two will not see the third. If I exit the apps (they gracefully unregister the NSD listeners) and restart them in a different order, the discovery pattern is not exactly the same, but similar. In my home network,

WebRTC: Matching up nearest peers

一个人想着一个人 提交于 2019-12-03 01:23:59
Given a single public IP address (peer A) and a list of many other public IP addresses (a mix of IPv4 and IPv6 addresses), what is the easiest way to match up peer A the IP addresses of the n nearest peers without having the peers manually ping each other for latency benchmarking? I think that this is possible using BGP with a bunch of complicated queries (and maybe something involving OSPF), but I was hoping that there might be a solution or library that would make it as easy as the theoretical functional call below. // `peer` is a single IP address. `peer_list` is a list of IP addresses //

Browser to browser communication without a server?

白昼怎懂夜的黑 提交于 2019-12-03 00:41:16
Is there any possible way to have browsers communicating to each other over lan/wan without the use of a server (direct peer-to-peer)? Looks like there may be hope on the horizon: http://www.w3.org/TR/webrtc/ IIRC, Opera released some kind of addition to their browser that embedded a webserver for just that functionality: http://unite.opera.com/ Not sure it really went anywhere, but I think its time will come. In pure HTML/Javascript? Probably not. To my knowledge, there's no good way in native JavaScript to listen for connections. In HTTP, the client opens a port, sends a request, and

P2P协议初步

匿名 (未验证) 提交于 2019-12-03 00:39:02
今天看到一个问题,如何把一个文件快速下发到100w个服务器 如果我们将文件集中式地放在一个服务器或缓存上的话,带宽、连接都会遇到问题。 树状: 索引状: 无论哪种方法,好像速度都不够快,主要受制于资源和带宽。 P2P还是英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续做主机上传,这种下载方式,人越多速度越快但缺点是对硬盘损伤比较大(在写的同时还要读),还有对内存占用较多,影响整机速度。 P2P的特点:1)无中央服务器,打破了C/S模式;2)用户之间互联并分享文件。 常见的P2P的协议有BitTorrent,这和我们天津大学的PT是一样的协议。 1、BT的简介 BitTorrent(简称BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。 而在FTP,HTTP协议中,每个下载者在下载自己所需文件的同时,各个下载者之间没有交互。 当非常多的用户同时访问和下载服务器上的文件时,由于FTP服务器处理能力和带宽的限制,下载速度会急剧下降,有的用户可能访问不了服务器。BT协议与FTP协议不同,特点是下载的人越多,下载速度越快,原因在于每个下载者将已下载的数据提供给其他下载者下载,充分利用了用户的上载带宽。通过一定的策略保证上传速度越快,下载速度也越快。 2、BT的原理解析

How does DHT in torrents work?

落爺英雄遲暮 提交于 2019-12-03 00:09:05
问题 I'm coding a p2p implementation that I would like to make decentralized however I'm having some trouble grasping how DHT in protocols like bittorrent work. How does the client know where the peers are if there is no tracker? Are peers stored in the actual torrent file? 回答1: With trackerless/DHT torrents, peer IP addresses are stored in the DHT using the BitTorrent infohash as the key. Since all a tracker does, basically, is respond to put/get requests, this functionality corresponds exactly

Simple basic explanation of a Distributed Hash Table (DHT)

ぐ巨炮叔叔 提交于 2019-12-02 23:58:34
问题 Could any one give an explanation on how a DHT works? Nothing too heavy, just the basics. 回答1: Ok, they're fundamentally a pretty simple idea. A DHT gives you a dictionary-like interface, but the nodes are distributed across the network. The trick with DHTs is that the node that gets to store a particular key is found by hashing that key, so in effect your hash-table buckets are now independent nodes in a network. This gives a lot of fault-tolerance and reliability, and possibly some