登录
首页 » Linux编程 » P2P 的实现原理

P2P 的实现原理

于 2022-07-02 发布 文件大小:19.06 kB
0 228
下载积分: 2 下载次数: 2

代码说明:

应用背景 关于UDP穿透NAT的中文 资料在网络上是很少的,仅有这篇文章有实际的参考 价值。本人近两年来也一直从事P2P方面的开发工作,比较有代表性的是个人开发的BitTorrent下载软件 - FlashBT(变态快车). 对P2P下载或者P2P的开发感兴趣的朋友可以访问软件的官方主页: http://www.hwysoft.com/chs/ 下载看看,说不定有收获。写这篇文章的主要目的是懒的再每次单独回答一些网友的提问, 一次性写下来, 即节省了自己的时间,也方便了对于P2P的UDP穿透感兴趣的网友阅读和理解。对此有兴趣和经验的朋友可以给我发邮件或者访问我的个人Blog留言: http://hwycheng.blogchina.com. 您可以自由转载此篇文章,但是请保留此说明。 再次感谢shootingstars网友的早期贡献. 表示谢意。 关键技术 NAT(The IP Network Address Translator) 的概念和意义是什么? NAT, 中文翻译为网络地址转换。具体的详细信息可以访问RFC 1631 - http://www.faqs.org/rfcs/rfc1631.html, 这是对于NAT的定义和解释的最权威的描述。网络术语都是很抽象和艰涩的,除非是专业人士,否则很难从字面中来准确理解NAT的含义。 要想完全明白NAT 的作用,我们必须理解IP地址的两大分类,一类是私有IP地址,在这里我们称作内网IP地址。一类是非私有的IP地址,在这里我们称作公网IP地址。关于IP地址的概念和作用的介绍参见我的另一篇文

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 万能链表
    这是一个万能链表,有了它,将其嵌入到你的数据结构中,一劳永逸的实现链表的功能。
    2022-01-26 06:03:16下载
    积分:1
  • AODV simulation in MANET using NS 2
    移动自组织网络(MANET)是一种由移动设备通过网络连接而成的自我配置的无基础设施网络;
    2022-03-25 16:02:49下载
    积分:1
  • thread_pool
    Tt is a simple thread pool based on POSIX thread API. It is written in C and licensed under the LGPL-2.1 (see COPYING).
    2022-08-15 16:39:12下载
    积分:1
  • Linux下 链路层测速
    Linux下 链路层测速程序 ,很准确,有完整的源码解析,非常有用
    2022-11-17 03:40:03下载
    积分:1
  • linphone代码分析
    linphone分析   看Linphone的代码,主程序很简单,只有三个函数: linphone-1.7.1console 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报 打分 发表评论 暂无评论
    2022-08-02 19:43:31下载
    积分:1
  • VANET: 车辆的应用和相互联网技术
    VANET: 车辆的应用和相互联网 TechnologiesContents前言 xv关于编辑 xix前言 xxi确认 xxv派遣 xxvii 列表1 引言 1Hannes Hartenstein 和 Kenneth P Laberteaux1.1 启发和挑战.......1要价 1.2 过去 andOngoingVANETActivities41.2.1 从开始到 20 世纪 90 年代中期王子.51.2.2 从 90 年代中期到目前溃71.2.3 例子当前项目结果溃101.3 ChapterOutlines 管线14References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 合作车辆安全应用 21德里克 · 卡夫2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212.1.2 Chapteroutline 盖印章222.2 EnablingTechnologies 盖印章232.2.1 Communicationrequirements 献计232.2.2 Vehicularpositioning 工作232.2.3 Vehiclesensors 盖印章252.2.4 在-boardcomputationplatforms...262.3 CooperativeSystemArchitecture......262.4 Mappingfor SafetyApplications......282
    2022-01-21 22:26:08下载
    积分:1
  • 5250协议终端仿真器
    5250协议终端仿真器通过5250协议连接AS400主机,支持telnet,ssl方式,运行环境为linux,AIX
    2023-02-08 20:20:04下载
    积分:1
  • 并行版本的量子意大利浓咖啡5.2.0
    应用背景是一个集成的开放源代码的计算机代码的电子结构计算和材料建模的纳米级。它是基于密度泛函理论,平面波赝势。关键技术量子咖啡是一种开放源分布。如果使用量子浓缩咖啡所做的科学工作将包含一个明确的确认和以下的参考,我们将不胜感激
    2022-01-23 10:42:26下载
    积分:1
  • c语言实现链表的基本操作
    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。本代码是实现了c语言实现链表的基本操作,如创建链表,增加节点,删除节点,查找节点。
    2023-07-06 01:50:03下载
    积分:1
  • 参数读入函数,从命令行或者文本文件
    // read from cmd line int PickInt   ( int argc , char **argv, char *name, int   *var, int verb ); int PickFloat ( int argc , char **argv, char *name, float *var, int verb ); int PickStr   ( int argc , char **argv, char *name, char  *var, int verb ); // read from txt file int FindInt   ( const char *file, char *name, int   *var, int verb ); int FindFloat ( const char *file, char *name, float *var, int verb ); int FindStr   ( const char *file, char *name, char  *var, int verb ); 读入以“ var=3456.5”方式输入的参数 参数可以是填写在命令行中的:使用PickInt、PickFLoat、PickStr函数 也可以是写在文本文件中的:使用FindInt、FindFloat、FindStr函数 成功则更新数值,否则(在命令行或者参数文件中找不到该参数)保持参数原来的值 verb:1则显示提示信息,0则不显示提示信息 直接包含即可,不依赖于其他非系统头文件 For example:读入一个整形数age=34 (1)./a.out age=34 对应程序中使用:
    2022-01-28 07:57:47下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载