-
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
-
Linux网络编程超级详细笔记
一.linux 网络知识介绍(1客户端程序和服务端程序2常用的命令3tcp/udp介绍)
二.初等函数介绍(socket,bind,listen,accept,connect)
三.服务器和客户端的信息函数(字节转换函数,ip和域名的转换,字符串的ip,服务信息函数)
四.完整的读写函数(写函数write,读函数read,数据的传递)
- 2022-12-25 01:25:03下载
- 积分:1
-
ftp库函数
ftp库函数.
arm-hismall-linux-gcc -Wall -I. -DFTPLIB_DEFMODE=FTPLIB_PORT -c -o qftp.o qftp.c
arm-hismall-linux-gcc -c -Wall -I. -DFTPLIB_DEFMODE=FTPLIB_PORT -fPIC -D_REENTRANT ftplib.c -o ftplib.o
arm-hismall-linux-gcc -shared -Wl,-soname,libftp.so.3 -lc -o libftp.so.3.1 ftplib.o
ln -sf libftp.so.3.1 libftp.so.3
ln -sf libftp.so.3.1 libftp.so
arm-hismall-linux-gcc -L. -o qftp qftp.o -lftp
mkdir unshared
arm-hismall-linux-gcc -c -Wall -I. -DFTPLIB_DEFMODE=FTPLIB_PORT -D_REENTRANT ftplib.c -o unshared/ftplib.o
ar -rcs libftp.a unshared/ftplib.o
CFLAGS = -Wall $(DEBUG) -I. $(INCLUDES) $(DEFINES)
DEFINES = -DFTPLIB_DEFMODE=FTPLIB_PORT
做静态链接库,必须要有main函数 否则无法生成静态链接库 , 但是动态链接库不受此限制
- 2022-05-09 10:47:09下载
- 积分:1
-
linux下简易ftp客服端-代码
该ftp的客服端是在linux下面写,涉及的东西也比较简单,如前ftp的简单介绍,知道ftp主要的工作流程架构,套接字的创建,还有就是字符串和字符的处理。使用的函数都是比较简单平常易见的,写的时候感觉有将以前学的函数从新巩固一遍。这个简易的ftp客服端只是完成了基本的工作,还有许多的问题有待解决。如:目前最大的问题是使用pasv(被动模式)连接的时候,某些情况下会出现运行错误或同一个运行程序中使用两次pasv的被动连接就是出现运行错误而退出。注意:ftp的测试最好是用linux平台下搭建,连接编码不同ftp会出现错误。
- 2022-01-22 12:46:49下载
- 积分:1
-
iproute2, 内含linux ip工具源码,route/arp等工具
Linux上强大的IP工具,用来查看与配置路由表、ARP表、NIC接口等信息。同时也是很好的网络编程学习范例。
- 2022-01-31 18:30:08下载
- 积分:1
-
软件虚拟的蓝牙键盘
通过实施蓝牙HID规范,可以将linux电脑虚拟为智能手机的蓝牙键盘。手机打开蓝牙,通过连上电脑公布出来的蓝牙输入设备服务,通过在电脑的键盘上敲打内容,可以准确的同步输入到手机上,用于编辑短信、文本等内容。
- 2022-03-03 20:12:36下载
- 积分:1
-
关于GPRS通讯的应用程序
本工程有两个项目,一个运行在ARM9开发板上,主要是通过GPRS将数据发送出去。还有一个是MFC写的一个应用,主要是接收ARM9开发板发来的数据,并保存成文件。
- 2022-07-04 11:40:56下载
- 积分:1
-
在therminal中运行的youdao词典(基于python)
基于python的词典,个人感觉很适合学习和研究,功能很完善,对于网络编程入门帮助很大。
- 2022-01-31 04:56:57下载
- 积分:1
-
可以直接运行于裸机的俄罗斯方块游戏
操作系统课的作品,可以直接运行于linux系统的俄罗斯方块游戏,使用git管理
- 2023-01-09 05:05:04下载
- 积分:1
-
基于单片机频率计
1.使用555产生矩形波信号,输入到单片机进行测量频率。
2.测频法:通过频率的定义即单位时间的脉冲数,得到被测信号的频率。 选用适当的时基,如1秒,以此作为计数闸门,得到闸门内的计数值即为信号的频率。该法适合测量频率高的信号。
3.数码管显示频率测量的结果
- 2022-03-14 12:47:30下载
- 积分:1