使用UDP打洞的p2p聊天程序,程序分为一个服务器和一个客户端,适用于穿越一般情况下的NAT
2021-11-23 11:22:46 99KB UDP NAT P2P
1
一个基于DHT的简单P2P文件系统
2021-11-22 04:29:44 9KB Java
1
P2P 照片分享服务 一个点对点 (P2P) 共享相册,带有用 Java 编写的分布式目录。 该实现包括分布式目录服务器池、P2P 客户端和 P2P 服务器。 P2P客户端负责命令获取可用文件的信息; 它也可以充当 P2P 临时服务器的客户端,以获得所需的文件。 目录服务器池是作为 ID 为 1 到 4 的分布式哈希表 (DHT) 实现的。DHT 中的目录服务器使用 TCP 连接形成一个环,并且它们具有唯一的 IP 地址。 P2P 客户端和 DHT 服务器之间的通信是使用 UDP 完成的。 DHT 池中的每个服务器也有唯一的 UDP 协议端口,用于与 P2P 客户端通信。 设置 在 Eclipse 中创建项目 第一步:在电脑上启动Eclipse并创建一个工作区 第 2 步:转到文件 -> 新建 -> 项目。 第 3 步:将弹出一个名为 New Project 的新窗口。 选择 Jav
2021-11-22 00:51:23 2.34MB Java
1
用JAVA实现P2P网络模型!!!!!!!
2021-11-20 15:40:40 154KB Java P2P
1
分布式搜索 使用分布式哈希表和WCF的P2P文件共享应用程序。
2021-11-18 22:45:31 1.74MB C#
1
比特币0.01源码,使用IRC作为发现比特币网络的seed,通过加入#bitcoin频道,获取到比特币中其它节点的地址信息,再通过节点链接线程,建立和其它比特币节点的连接。 比特币网络中的节点可以通过监听处理线程监听其它节点的连接请求,并接收连接。 这样一来每个比特币节点,即使主动连接他人的客户端,又是监听连接的服务器端。同时每个节点可以向其它节点请求地址列表,或者广播自己的地址,从而建立起多个连接,实现了P2P的网络架构。
2021-11-18 20:36:44 568KB 区块链 比特币 P2P
1
随着P2P网络的飞速发展,P2P网络技术已经成为当今IT技术领域研究与应用的热点。本书通过基础理论篇与C++开发案例篇两个部分的讲解,使读者对P2P网络技术有全面的理解。 基础理论篇对P2P网络的定义、典型的网络拓扑结构、应用与研究现状以及当今5种主流的P2P系统分别进行了介绍;通过与传统的搜索技术相比较,分析了P2P搜索技术的原理;对P2P技术所涉及的安全问题逐一进行了分析;对P2P应用的相关技术进行了深入剖析。 C++开发案例篇介绍了P2P应用开发的两个平台,然后针对5个具体的P2P系统进行了详细的系统介绍和源码分析,包括P2P文件共享系统、P2P即时通信系统、P2P流媒体系统和P2P视频点播系统。 本书可供广大从事P2P网络技术工作的研发人员和工程技术人员阅读参考,也可作为高等院校通信类、网络类、信息类、计算机类、电子类等专业高年级本科生和研究生学习P2P技术的书籍。 基础理论篇 1 第1章 P2P基本概念 3 1.1 P2P网络的定义 3 1.2 P2P网络结构 4 1.2.1 集中式P2P网络 4 1.2.2 完全分布式非结构化P2P网络 5 1.2.3 完全分布式结构化P2P网络 6 1.2.4 混合式P2P网络 7 1.2.5 P2P网络和传统网络的对比 8 1.3 P2P网络的应用 9 1.4 P2P的发展 11 1.4.1 起步 11 1.4.2 发展 11 1.4.3 高峰 11 1.5 P2P技术国内外研究现状 12 1.5.1 国外相关研究 12 1.5.2 国内研究现状 12 1.6 本章总结 13 1.7 练习题 13 第2章 主流P2P系统 15 2.1 文件共享类系统 15 2.1.1 Napster 15 2.1.2 Gnutella 17 2.1.3 BitTorrent 19 2.1.4 eMule 20 2.1.5 Maze 22 2.2 即时通信类系统 24 2.2.1 Skype 24 2.2.2 QQ 26 2.2.3 GTalk 27 2.3 流媒体类系统 28 2.3.1 AnySee 28 2.3.2 PPLive 29 2.4 共享存储类系统 30 2.4.1 OceanStore 30 2.4.2 Granary 32 2.5 对等计算类系统 34 2.6 本章总结 35 2.7 练习题 35 第3章 P2P网络的基础——搜索和路由算法 36 3.1 传统搜索技术 36 3.2 P2P搜索技术的发展 37 3.3 DHT网络(结构化P2P网络)的搜索技术 39 3.3.1 DHT路由原理 39 3.3.2 Chord 40 3.3.3 Pastry 44 3.3.4 CAN 46 3.3.5 Tapestry 48 3.3.6 Kademlia 50 3.3.7 小结 53 3.4 非结构化P2P网络的搜索技术 53 3.4.1 Flooding 54 3.4.2 Modified-BFS 55 3.4.3 Iterative Deepening 55 3.4.4 Random Walk 56 3.4.5 Query Routing 57 3.4.6 Gnutella2 59 3.4.7 移动Agent 59 3.4.8 小结 60 3.5 小世界(Small World)模型 61 3.5.1 小世界模型概述 61 3.5.2 聚类分布(CD)算法 62 3.5.3 小世界网络的研究现状 66 3.6 P2P搜索技术研究的挑战 66 3.7 本章总结 67 3.8 练习题 67 第4章 P2P应用与安全 69 4.1 P2P应用面临的安全问题 69 4.1.1 P2P应用引发的版权问题 69 4.1.2 P2P应用对现有网络应用的威胁 71 4.1.3 P2P网络病毒与蠕虫 71 4.1.4 结构化P2P网络的隐患 72 4.2 P2P应用与安全技术 76 4.2.1 P2P应用中的密码学技术 76 4.2.2 P2P应用中的网络安全技术 78 4.2.3 利用P2P网络解决安全问题 82 4.3 P2P实例系统--Skype的安全性分析 88 4.3.1 Skype简介 89 4.3.2 Skype安全机制分析 93 4.3.3 Skype流量识别 96 4.4 本章总结 98 4.5 练习题 98 第5章 P2P应用的相关技术 100 5.1 P2P与网络穿越 100 5.1.1 NAT网络概念 100
2021-11-18 16:58:05 53.95MB P2P C++ 网络编程
1
使用C#写的winform程序,主要实现了基于UDP的NAT穿越,可以使两个使用DSL拨号没有固定IP的计算机实现直接通讯,从而不需要服务器的中转。类似QQ也是使用这种技术,可以大量减少中转服务器的投入。 程序的Server仅仅是负责通知,在两个计算机连通以后,关掉server也可以正常通讯,但前期需要server提升些通知消息。 程序比较简单,实现了两个计算机互发文本消息,其它的功能用户可自己扩展。
2021-11-18 11:38:43 104KB P2P UDP C# NAT穿透
1
P2PGo gop2p是一个Golang库,用于启用软件客户端之间基于UDP的简单死信对等通信。 目的是能够通过发出由RSA签名的命令来远程控制各种节点。 对等方维护仅客户机具有的公共密钥到私有密钥。 这是我的第一个大型项目,因此可能并不漂亮,但运行速度确实非常快。 安装 客户端文件夹包含运行发出命令的客户端所需的所有代码。 对等文件夹包含运行节点所需的所有代码。 生成公用和专用RSA密钥后,将它们放入客户端和对等方的cryptotext.go文件中。 用法 将密钥放置在正确的位置后,使用以下命令运行客户端: ./client 像这
2021-11-18 09:42:42 41KB go golang udp p2p
1
go-easyp2p 描述 易于使用的P2P库 纯净去 使用TLS保护 例子 在示例/ 安装 去获取github.com/cs3238-tsuzu/go-easyp2p 执照 根据MIT许可 版权所有(c)2018 Tsuzu 去做 支持TURN 详情 使用STUN,QUIC( )
2021-11-18 09:41:09 17KB go p2p P2PGo
1