DEMO代码--P2P, 协议(100分)

  • 主题发起人 主题发起人 copy_paste
  • 开始时间 开始时间
C

copy_paste

Unregistered / Unconfirmed
GUEST, unregistred user!
用D写了个DEMO,没事的看看,嘎嘎。

涉及使用的是UDP,并使用了比较正规的协议,大家可以参考下怎么做的。(有时看到有些代码的协议真是看不懂,特此加了这个协议)
另:此DEMO偶测试的情况不多,只在ClientA(XP, LAN) + Server(公网) + ClientB(dlink路由器)

里面的东西基本实现,当然,俺比较懒的原因,很多东西没加上去,所以,同志们要往里面加东西的话,请注意优化里面的东西。

代码在这:
http://www.delphibbs.com/keylife/images/u81977/P2P061122.rar

BTW:如果有人要改此份代码,请不要改的乱七八糟,明明俺写的好好用类的方法实现,非得折到跟界面打交道,搞得偶某年某月看到一份类似代码,但一眼过去却代码风格是垃圾的说,偶会郁闷的想骂人的。

有更改了,俺会在这更新。
有问题可以讨论下,不过俺有时比较懒,呵。有兴趣者可以继续完善,里面的代码设计说实在的,有些是权宜做出来的,呵呵
 
支持楼主
 
顶楼主,看了一下你写的代码,很规范。
 
谢谢分享。
 
哈哈哈哈,那段“BTW”的文字真是经典,俺一定要抄一份回去张贴的说。
 
p2p的~好啊~
p2p的在中文网站上真他妈不好找~
跑到国外的一个网站上下了2个,我靠,源码读下去会死人~
 
很好的东西~也收集了很好的资料~

程序确实很规范,但是必要的注释也是程序规范的要素..

总之,好东西,帮顶了!
 
好东西,不顶有罪!
 
有没有人跟我一起写下去。。。QQ
19398837
 
正好可以拿这个学一下协议设计,谢谢分享[:D]
 
新手请教,在TCustomP2pBase看到这一段:
...
FOnMsgEvent: TOnMsgEvent;
...
procedure DoMsgEvent(...);
...
property OnMsgEvent: TOnMsgEvent read FOnMsgEvent...;
...
我的理解是FOnMsgEvent相当于一个过程指针,DoMsgEvent()只是一个包装,如果FOnMsgEvent不为nil就调用FOnMsgEvent指向的过程?lz是不是没有写FOnMsgEvent的实现?我看来看去都找不到。。。如果要写的话怎么写?
 
原来实现放在界面相关的那个类里,不过了还是不太明白为什么要转这么多弯。。。[:(]
 
好东西啊
谢谢楼主分享
下来学习一下
 
后退
顶部