- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P2P SDK开发包与无关性协议传输
目录:
一 综述
二 PPQ.DLL是一个P2P SDK开发包
三 PPQ.DLL的特点
四 PPQ.DLL的工作方式
五 创建PBaseAct派生类
六 在开始一个任务之前的准备工作
七 从URL下载一个文件
八 建立一个语音聊天
九 从另一个好友处下载一个文件
十 PPQ.DLL的无关性协义传输
一 综述
PPQ.DLL通过对象和插件的封装来实现无关性协义传输,允许开发者在不必知道传输协议的前提下,就可以进行插件的开发,加快开发过程,减少错误的产生,提供了一种用TCP来实现事务处理的策略,在最后提出了一种比HTTP、XML和SOAP等更加灵活的包含执行方法的,以传送对象的方式实现的无关性协义传输。
二 PPQ.DLL是一个P2P SDK开发包
PPQ.DLL是一个P2P的SDK开发包,它使用对象的传递来实现无关性协议传输,这种对象并不是MFC或JAVA的序列化对象,PPQ.DLL的序列化对象,使开发者可以在互相不知道传送协议的情况下,互传消息,并且可以根据开发者的定义,在不同的编程语言环境中互传对象。它将TCP的流式数据转变成一个个事务来对待,每一个事务表明你希望通过P2P来实现的功能,事务的处理过程可以使用DLL、OCX或COM等任何一种形式封装起来,这些被封装的事务可以由其它开发者直接在自己的开发程序中引用,而不需要再为处理相同的事务去开发一套程序。
PPQ.DLL采用插件的形式来引用已定义好的事务处理程序,不但可以在开发程序时增加一个插件,而且允许程序在运行时动态增加或取消一个插件,使开发出来的程序,具备动态扩展功能,而不必每增加一个功能都重新发布一次程序,并且这种插件地增加和取消可以完全由用户自己来决定。
PPQ.DLL封装了数据传输时的编码方式,使开发者不用担心开发程序与未来P2P国际标准之间的接轨,对于新的标准的适应,只需要简单的修改一下底层的解码器,所有原先的开发程序就可以自动地适应新的国际标准。PPQ.DLL实际上提供了一种新的以对象方式实现的无关性协议传输,它类似于XML、HTTP、SOAP等协义,但有其独特的特点,关于这种新的无关性协议传输的可行性将在后面论述。
PPQ.DLL为P2P的应用带来了一个新的起点。现在的P2P的应用都是传递一种字符串来作为命令,它只能传递规则,而无法传递规则所表示的方法,并且这种规则到目前为止并没有一个统一的标准,如何建立标准与什么时候能够建立标准都是一个期待的问题。在等待标准公布时,每一家大的公司都在努力制定自己的协义与标准,都希望将来的标准能够与自己的相同,在标准公布以后,所有的与标准不同的程序,如果想适应标准,都必需去修改原程序,这个改动是很庞大的,而PPQ.DLL正是解决了这个问题。
PPQ.DLL的传输没有任何的协议,任何一个开发者都可以制定自己的协议标准去完成一个任务,而不需要去关心其它的应用程序。对于想通过P2P来实现的功能,只需要加入一个已经定义好的类就可以啦,如果想在其它开发者开发的事务处理程序基础之上去增加一些功能,甚至可以从其他开发者已经定义好的类中派生出新的本地类来实现自己的独特功能,而发送指令对象的双方却都可以正确地解析,并且可以在双方的处理过程中,都引入自己独特的本地处理方式。
PPQ.DLL是一种真正地无协义传输方式,它的引入可以使P2P在一些关键性领域中得到真正地应用,它的这种插件式自由组合方式,也使程序地开发得到了最大化的复用,能够更好地加快程序开发速度,使每一次的开发都不必再从起跑线上开始。
利用PPQ.DLL的对象传递方式,PPQ.DLL将P2P实现的基本功能都封装在了DLL中,开发者可以直接把它作为一个开发包来使用,其他开发者利用PPQ.DLL的对象传递方式开发出的插件,也可以直接无缝地加入开发包中,使开发P2P产品变得轻松自如。
PPQ.DLL也提出了防止目前P2P上盗版、黄色信息、无用的垃圾信息大量泛滥的一种方法,让P2P的使用更加规范,使个人用户的行为更加具有针对性和目的性。从开发JAVA版的P2P程序开始,我就始终认为P2P应该对下载的文件设定一种权限,用户通过权限可以控制自己所提供的文件可以被哪一些人下载,这种想法也影响到了我开发C++版的PPQ.DLL。国内目前开发的P2P程序中对下载文件都没有任何的限制,其直接导制的后果就是大量的黄色信息呈辅射状传播,一个下载了黄色信息的用户无形之中成为了一个传播黄色信息的新的源,形成了非常坏的一个恶性循环,最终导制目前国内所有P2P网站全部暂停。
PPQ.DLL对用户的所有传送文件采用数字标识来传递,这种数字标识可以和一些描述性的词汇一起被传送给其它用户,用户想下载时,也是
文档评论(0)