- 博客(21)
- 收藏
- 关注
原创 frostwire项目源码分析
Frostwire代码分析 Frostwire是一个基于其他许多优秀开源项目开发的一款文件分享软件。它的前身是LimeWire Gnutella客户端;但是已经有了很大的变动。 现在FrostWire已经不再支持Gnutella协议;变成一个BT客户端;并且还内置了播放器能够在线播放音乐和p2p网络中的电影资源。 此项目的主要依赖库如下:(1)BitTorrent
2015-07-20 11:30:47 1320
原创 java 调用exe
在windows下做java项目时,有时候windows下会有现成的小工具能解决我们项目中的问题,此时通过java调用windows下的可执行文件就会给我们带来很多遍历;通过java调用windows下的exe有下面两种方式:1.通过cmd.exe来执行脚本,或者执行某一命令 public void MakeTorrent (String filename,String tra
2015-07-20 11:18:36 964
原创 java 实现局域网多播
要想用java编程实现发送多播信息,需要经历几个基本的编程步骤。能完成以下这几步,就是可以用Java程序来实现多播信息的发送。 (1)确定发送消息的具体内容; String msg="hello"; (2)选用专门为多播指定的D类IP地址(224.0.0.1到239.255.255.255),创建一个多播组 InetAddress group=InetA
2015-07-09 18:03:14 1390 1
原创 frostwire设置libtorrent实现顺序下载边下边播
首先跟踪代码运行;main函数调用GULloader函数加载程序的主界面;为了看下载部分的实现;首先从程序菜单栏添加种子开始跟踪;com.limegroup.gnutella.gui.actions FileMenuActions 中跟踪添加种子的运行流程258行 openMagnetOrTorrent函数实现其中选中种子选项添加种子后;跳转到GUIMedi
2015-07-06 17:37:51 1901
原创 编译frostwire项目jlibtorrent_jni.cpp
在上一篇文章中已经编译好了boost库,libtorrent库,openssl,接下来编译libtorrent_jni.cpp;这个文件是供jni调用底层libtorrent库的接口,为了方便在java程序中使用这些接口,需将libtorrent_jni.cpp编译成dll动态库;在项目frostwire-jlibtorrent-master中已经给出了编译的脚本build_win
2015-07-02 16:29:40 1214 1
原创 VS2010编译libtorrent
libtorrent依赖openssl和boost库;所以先要编译openssl和boost库:1.编译openssl:(1)安装ActivePerl,下载地址 安装完后配置环境变量;例如我安装的perl路径是G:\Perl;配置的环境变量是G:\Perl\bin;(2) 编译openssl,先下载openssl的源码包,我下载的是1.0.0版本的。运行vis
2015-06-30 08:43:16 1621
原创 Frostwire工程项目的建立
frostwiire是一个开源的p2p文件共享软件,支持dht,还可以边下边播,是一款非常强大的p2p软件.forstwire项目地址:https://github.com/frostwire从frostwire下面有4个子工程;其中Jlibtorrent-master是用调用底层的libtorrent的接口。common是整个工程的一些依赖库;windows版本需要三个工程:
2015-06-16 17:23:28 585
原创 Gradle安装及Eclipse插件配置
Gradle是一个项目管理的工具,安装步骤 (1) 下载Gradle安装包http://gradle.org/downloads/ 有三种版本可以下载,all是带源码,可执行文件,相关文档的,最全;binary是单纯的安装包,解压即可用,第三种是源码。这里选择下载的是binaryhttps://services.gradle.org/distributions/gradle-2.4-b
2015-06-15 09:15:20 653
原创 java学习之MVC模型(二)
MVC的变体模型--视图--控件体系结构的一个变体是将控件和视图混合在一起,在这种情况下,视图不仅显示数据,也作为接口和用户进行交互,接受用户的输入例如可以修改前一篇文章中的视图,使用户能够改变半径的大小,单击鼠标左键半径增大5个像素,单击右键,半径减小5个像素,新视图命名为CircleControler.javapackage com.mvc.test;import ja
2015-06-11 11:55:38 417
原创 java学习之MVC模型
mvc模型--视图--控件(Model-View--Controller)结构是一种开发组件的方法,它将数据存储和数据处理从数据可视化表示中分离开来。存储和处理数据的组件称为模型Model,它包含组件的实际内容。表示数据的组件称为视图 view,它处理组件所有必要行为,它完成所有组件的显示。控件(controller)通常是一种获取数据的组件。简单来说:控件获取数据,模型存储数据,视图显示
2015-06-11 11:07:26 631 1
原创 SWT Designer在Eclipse中的安装 以及注册
SWT简介: SWT-"Standard Widget Toolkit",它是一个Java平台下开放源码的Native GUI组件库,也是Eclipse平台的UI组件之一。从功能上来说,SWT与AWT/SWING是基本等价的。SWT以方便有效的方式提供了便携式的(即Write Once,Run Away)带有本地操作系统观感的UI组件:由于widget系统的固有复杂性以及平台
2015-06-10 17:03:54 1016
原创 p2p网络中的NAT穿透技术----常见NAT穿越解决方案
常见NA丁穿越解决方案 NAT技术在缓解IPv4地址紧缺问题、构建防火墙、保证网络安全等方面都发挥了重要作用。然而,NAT设备的广一泛存在却给Internet上的主机,特别是处于不同内网中的主机进行P2P通信带来了障碍,限制了P2P的应用。NAT阻碍主机进行P2P通信的主要原因是NAT不允许公网主机主动访问内网主机,这使得Internet上具有公网IP地址的主机不能主动访问NAT之后
2015-06-10 09:50:00 7203 1
原创 p2p网络中的NAT穿透问题---NAT的原理和类型
1.完全圆锥型NAT (Full Cane NAT) 完全圆锥型的NAT,将从同一内部IP地址和端口来的所有请求,都映射到相同的外部IP地址和端口。而且,任何外部主机通过向映射的外部地址发送报文,可以实现和内部主机进行通信。这是一种比较宽松的策略,只要建立了内部网络的IP地址和端口与公网IP地址和端口的映射关系,则所有Internet上的主机都可以访问该NAT之后的主机。
2015-06-10 09:47:06 4757
原创 Swig编译C代码供java调用实例
SWIG是Simplified Wrapper and Interface Generator的缩写,其官方站点是http://www.swig.org/。SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中也包括非
2015-06-09 17:17:35 636
原创 P2P流媒体技术方案
P2P流媒体技术方案1.P2P流媒体系统层次化体系结构: P2P只是负责底层网络层数据的传输,中间层是核心 2.几种P2P流媒体架构方案,明显第四种与我们的需求相符: 3服务器辅助的P2P视频点播系统设计 补偿服务器 补偿服务器拥有部分视频数据,这些数据是系统中紧缺的视频数据。补偿服务器为
2015-06-01 16:18:36 1016
原创 p2p半分布式开源项目调研:
p2p半分布式开源项目调研: 1.半分布式拓扑结构底层协议FastTrack: FastTrack是采用树型对等网络模型,是集中目录式网络结构的发展模式。处于网络模型中的节点自动组成树型结构,其中计算能力较强的或者带宽更宽的节点成为超级节点,超级节点的功能类似于集中目录式网络中的服务器。客户节点加入超级节点的树中之后,当需要查询某个文件时,客户节点会向超级节点发出文件查询请求。超级
2015-06-01 16:18:23 1272
转载 基于WEBRTC的免插件点到点视频分享
基于WEBRTC的免插件点到点视频分享May 05 2013 , WebRTCWebRTC 是基于浏览器的实时通信协议(Real-Time Communications),通过WebRTC,可以在浏览器中直接进行点到点视频聊天和数据通信。WebRTC目前尚在协议开发中,但是已经在Chrome stable版和Firefox’s Nightly中实现,并且能够互相通信了。
2015-06-01 15:58:50 686
转载 P2P Streaming的发展历程
相对于传统的C/S模式的streaming,采用P2P方式进行流媒体的交付,可以节省硬件设备及网络流量的成本。现有的一些产品如优酷土豆,到PPstream(现在是PPS)pplive(现在是PPTV)UUSee是这两种类型的典型。 虽然从技术上看,采用P2P的方式进行视频传输更加节省成本,但在现实运营中我们却看到一只是优酷土豆这类的产品(我这称之为产品)更受关注(这不优酷都上市了)。其中原
2015-06-01 11:21:06 644
转载 Fasttrack 协议
FastTrack是Kazaa、Grokster、iMesh和Morpheus等P2P软件中使用的协议,这个协议在2003年早期非常流行。FastTrack和Kazaa是Scandinavians、Niklas Zennstrom和Janus Friis设计的,2001年3月,在一家荷兰公司Consumer Empowerment的产品中最先使用。那时候正是第一代P2P网络的末期,同年
2015-05-27 11:53:16 826
转载 BitTorrent的DHT协议(译自官方版本)
译者前序DHT协议早在2005年就已经成为了官方BitTorrent协议的一部份,但是我竟然一直没有找到国内的官方翻译稿,所以将其进行翻译,若文中错误,欢迎各位指正。其次,若想彻底理解DHT协议的原理,建议各位阅读Kademlia协议,在本博客中,有其翻译稿,参见DHT协议基础1,2.本文英文版官方地址:http://www.bittorrent.org/beps/bep_
2015-05-27 11:49:43 1261
原创 p2p视频点播系统开发案例――Myseelite
项目地址:http://sourceforge.net/projects/myseelite/ 1. MySee公司倡导的开源项目,目前国内功能最强大的一个开源系统。2. 一个直播(也支持轮播、点播)系统3. 直播源支持从摄像头直接获取,也可以是mms流。4. 文档齐全5. 《P2P网络技术原理与C++开发案例》等书籍有提到该项目 MySee公司简介:1. My
2015-05-25 10:12:26 2579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人