-
P2P 的实现原理
应用背景
关于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地址的概念和作用的介绍参见我的另一篇文
- 2022-07-02 02:43:33下载
- 积分:1
-
EPOLL详细例子
很好的EPOLL文档 例子Lock.cpp : 锁的操作 , 读锁可以并发 , 写锁独占.Queue.h : 队列的封装 , 队列的读和写都加了锁的保护.Socket.cpp : 套接口的简单封装.Thread.cpp : 线程的封装实现了些简单的线程停止,运行等功能 , 启动别的线程的时候需要继承次类.Worker.cpp : 用户接口类 , 用户需继承此类。ListenThread.cpp(继承Thread.cpp) : 服务器监听线程.如果有客户端连接通知ThreadPool类,由ThreadPool类进行任务分派.TaskThread.cpp(继承Thread.cpp) : 具体任务类,负责接受客户端发送数据.ThreadPool.cpp (继承Thread.cpp) : 线程池类负责启动别的线程 , 并且进行线程调度。首先启动ListenThread.cpp类,如果有客户端连接ListenThread.cpp类发送信号通知ThreadPool.cpp类,收到信号再分配给TaskThread.cpp类,进行处理。如果没有空闲任务类,动态再 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2023-02-11 00:45:03下载
- 积分:1
-
谷歌地图地址数据抓取脚本
谷歌地图覆盖了全球的地图数据,其中“XX路XX号”属于地址数据,这类数据对于地理编码有着重要的价值,本程序实现了例行的谷歌地址数据抓取,使用了代理IP,确保不会被封禁
- 2022-09-13 23:20:03下载
- 积分:1
-
iCAN实例
基于iCAN协议的网络编程,实现数据包的接受与发送
- 2023-03-18 13:35:04下载
- 积分:1
-
wk2166的spi驱动代码linux系统基于S5PV210
资源描述wk2166的spi驱动代码linux系统基于S5PV210,WK2166是首款具备256级FIFO的低功耗并支持 UART/SPITM/IIC/8位并行总线接口的4通道UART器件。可以通过模式选择使得该芯片工作于以上任何一种主接口模式,将选定的主接口扩展为4个增强功能的UART。
- 2023-02-08 09:30:04下载
- 积分:1
-
android的经典实例
android经典实例,帮助学习android入门的同学。
- 2022-05-24 19:06:23下载
- 积分:1
-
Linux 服务器的 DHCPD
配置DHCP服务器的第一步是创建贮存客户网络信息的配置文件。使用此文件来声明选项和全局选项的客户端系统。配置文件可以包含额外的选项卡,或简单格式化空行。关键词是不区分大小写和线井号(#)开头的注释。有两种类型的配置文件中的语句:参数 - 状态如何执行任务,是否要执行任务,或者什么样的网络配置选项发送到客户端。声明,描述网络的拓扑结构,描述了客户,为客户提供地址,或一组参数应用于一组声明
- 2022-05-29 20:19:17下载
- 积分:1
-
ubuntu环境下qt编译通过的onvif discovery代码
ubuntu环境下qt编译通过的onvif discovery代码,可以发现支持onvif协议的摄像机设备。
- 2023-05-06 11:20:03下载
- 积分:1
-
rtc测试程序 linux
测试rtc驱动,ioctl命,Linux提供新的RTC接口创建了一个RTC驱动模型,实现了RTC的大部分基本功能。而底层驱动无须考虑一些功能的实现,只需将自己注册的RTC核心中,其他工作由RTC核心来完成。
- 2022-03-03 02:53:19下载
- 积分:1
-
memerycache
memerycache 内存调度算法,经典高效!包含了十几个文件,对算法描述特别详细,运行在Linux之上,是做各种高效程序,做系统开发,很好的参考材料,近乎完美的算法,很值得学习!! 你也可以拿他作为学习Linux,底层算法的一个实例。
- 2022-06-15 08:16:02下载
- 积分:1