文件共享势力无法档 9行代码写出P2P程序
TinyP2P是一个实用的点对点文件共享应用程序,由Ed Felten博士用Python语言编写而成。而它令人称奇之处,是它仅仅包含了15行代码!作者称,他写TinyP2P只是为了阐明编写点对点应用程序的难度罢了。P2P程序可以非常简单,一个熟练的程序员随便都可以写出来,所以,任何阻止他们创作的行为都将是徒劳无功的。(每一行都多只有80个字母。第一行不算--它只起注释之用,计算机在读入的时候会忽略它)
当然,作者编写这一程序并非为了方便别人侵犯版权,他自己也不能宽恕侵犯他人版权的举动。这一程序的设计初衷并没有协助文件共享之意,它存在价值主要在于它是一个概念的实现。一个更为实用的程序速度必须更快,更安全,对连接失败的处理机制更为完善,但那一目标的实现需要更多行代码。(TinyP2P的源代码可以由下面的链接处下载)
工作原理:程序创建了一个小型的网络,可以用于一群朋友或者商业伙伴之间共享文件。它不适用于非常大的网络;相反,许多小型网络可以共存。每一个网络由一个密码保护;只有知道网络密码的人才可以访问它。(但是网络对于窃听信息的攻击者而言是毫无安全性可言的。)
程序使用标准的通讯协议:HTTP和XML-RPC。HTTP就是在网页浏览器中普遍使用的协议,XML-RPC则在提供网页服务方面被广泛应用。
程序可作为服务端,也可作为客户端。当作为服务端运行时,程序与一个网络中的其他服务端联接,共享当前目录中的所有文件,以供网络用户下载。
尽管如此,TinyP2P毕竟还使用了一个现成的XML-RPC服务端类库。另一个文件共享程序--MoleSter更令人吃惊:它仅仅由9行Perl代码构成,而且只应用了TCP协议。新版本MoleSter0.0.2以最小的形式发布:仍然是9行,但字节数少了,只有543个字节(0.0.1版为625)。
回复Comments
作者:
{commentrecontent}