delphi中如何编写p2p程序?(100分)

  • 主题发起人 主题发起人 topbad
  • 开始时间 开始时间
T

topbad

Unregistered / Unconfirmed
GUEST, unregistred user!
题目有点大。但是我自己也没有想好思路,就是想了解,感兴趣。分不多,大家谅解。

如workslink、edonkey之类的p2p程序到底是如何实现的?delphi中表达得出来吗?
具体实现方法是怎么样的呢?

不要跟我说用C#或者C++,不好意思,我是学心理学的,工作也与编程无关,编程我只用delphi,
也只愿意学习delphi。





 
p2p是什么的简称,能不能讲一下。不懂P2p
 
to Nizvoo:
p2p,原来有 Point to Point的意思,后来好象变成了 Peer to Peer了。

p2p只是一种创意,转化为算法后,用DELPHI来表达就很容易了,关键在于从创意到到算法那一步。
这个就要看你的个人兴趣了。
 
看看Delphi开发者资源社区中或者Playicq中好像有P2P的东西,我Down了一个,但是没有用.
 
p2p现在变成了不是点对点,而是互相共享
 
谢谢大家的帮助~~~~

岂不是很危险???

那个PP是不是这个创意的产物???
我用了一分钟就删除了,怕~~~~~~~~

我觉得做成Sever安全性还是好一些,所以一直不用QQ了。
 
做成Server数据量一在,根本承受不了!
现在到QQServer的流量是大约是500Mbps,所以如果所有短信都是通过服务器的,那服务器根本就不能承受!
 
其实只需要把客户端的其中一些位置作为共享,登录的时候主动向服务器里发送该
客户端有的文件名和IP地址。然后客户端查询的时候是向服务器端查询消息,查询
完了以后。服务器端会返回有什么客户端IP有这个文件名可提供下载,然后请求的
客户端再直接往提供数据的客户端下载数据就可以了。
 
payer老兄似乎有些经验,能否说的具体一点,比如,我现在想开发一个很简单的p2p程序,实现
文件共享、聊天功能,在delphi中如何架构程序?系统如何设计?

说的有实际价值者附带例程,再加300分。


 
procedure TForm1.SSClientRead(Sender: TObject; Socket: TCustomWinSocket);
var C : PCON;
cmd:String;
Buffer : pointer;
nRetr : integer;
fs : TFileStream;
const bufferSize = 1024 ;

begin
C:= Socket.Data ;
case c.Status of
0 :
begin
cmd := trim(Socket.ReceiveText) ;

if Pos('UPLOAD ',uppercase(cmd)) > 0 then
begin
c.FileName := trim(Copy(cmd,Pos(' ',cmd)+1,Length(cmd)));
c.TotalSize := StrToInt(Copy(c.FileName,Pos(' ',c.FileName)+1,Length(c.FileName)));
c.FileName := trim(Copy(c.FileName,1,Pos(' ',c.FileName)));
c.Status := 1;
Socket.Data := C;
Socket.SendText('you can send File !'#13#10);
end;
end;
1 : begin
GetMem(Buffer,BufferSize);
nRetr := Socket.ReceiveBuf(Buffer^,BufferSize);

if not FIleExists('c:/'+c.FileName) then
begin
fs :=TFileStream.Create('c:/'+c.FileName,fmCreate or fmShareDenyNone);
fs.Seek(0,soFromBeginning);
end
else
begin
fs :=TFileStream.Create('c:/'+c.FileName,fmOpenWrite or fmShareDenyNone);
fs.Seek(0,soFromEnd);
end;

fs.WriteBuffer(Buffer^,nRetr);

fs.Destroy;
FreeMem(Buffer);
end;
end;
end;

 
这里有一篇实现P2P原理的文档。
http://cnscenter.future.co.kr/resource/ietf/ind-draft/draft-ford-midcom-p2p-00.txt
希望大家一起讨论一下,详细请看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2218066
 
正在做一个分散服务的P2P软件,上次发了一个帖子,大家反应不高,我还以为没有人感兴趣呢
 
pp点点通被封了后还有什么好的p2p站点吗,推荐一下呗
 
我有源程序提供,要把E-MEIL留下来发给你,给我加分啊!
 
to Reghawk:
好,给你加分,发email to : deng_xh@sina.com
 
to Reghawk:
netphuang@sohu.com
 
to Reghawk:
加分!johnsonleee1@hotmail.com。
 
后退
顶部