QQ(P2P)聊天系统的原理与实现

时间:2015-05-28 04:41:27
【文件属性】:

文件名称:QQ(P2P)聊天系统的原理与实现

文件大小:887KB

文件格式:RAR

更新时间:2015-05-28 04:41:27

QQ聊天原理 P2P聊天原理 Socket聊天原理

本文旨在用Delphi面向对象的方法实现P2P(Peer To Peer)(类QQ)会话系统。本文可作为学习P2P通信与面向对象程序设计的用例。 一、 通信组件:采用TIdUDPServer(属于Indy Servers组件板)。 二、 通信原理::利用P2P之UDP穿透Cone(锥型)NAPT原理。 三、 系统特点: 1、所有会话命令均封装成对象。 2、每个命令对象都有Send(发送)与Exec(执行)方法。Send方法用于把对象(自己)发到对方,Exec方法完成对象的功能。 3、主要命令:Login(用户登录(C->S))、CloseSession(关闭会话(S->C)) 、 Binding(回复用户绑定信息(客户端经NAT后的IP&Port;)(S->C))、OnlineList(回复当前在线用户列表(S->C))、Upline(用户上线(C->C))、Logout(用户登出(C->S))、 Leaveline(用户离线(C->C))、 Chat(会话(交谈、闲聊)(C->C))、Upload(上载(数据)文件(C->C))


【文件预览】:
E55P2P(IdUDP)
----UdpServer.exe(735KB)
----UdpClient.exe(850KB)
----Doc()
--------P2P之UDP穿透NAT的原理与实现.doc(253KB)
--------P2P会话系统概述.doc(73KB)
----UdpServer.dpr(1000B)
----Unit()
--------FunctionUnit.pas(2KB)
--------UdpClientUnit.pas(25KB)
--------Binding.pas(878B)
--------Logout.pas(701B)
--------TypeUnit.pas(974B)
--------Leaveline.pas(2KB)
--------Upline.pas(2KB)
--------PubVar.pas(239B)
--------OnlineList.pas(1KB)
--------UserNode.pas(5KB)
--------Chat.pas(3KB)
--------Login.pas(6KB)
--------Upload.pas(5KB)
--------Logo.dfm(39KB)
--------_Login.pas(1KB)
--------CloseSession.pas(605B)
--------IcmpClient.pas(1KB)
--------_Login.dfm(120KB)
--------Logo.pas(2KB)
--------CmdObject.pas(3KB)
--------UdpClientUnit.dfm(43KB)
--------UdpServerUnit.pas(5KB)
--------Reply.pas(727B)
--------ChatStream.pas(4KB)
--------UdpServerUnit.dfm(21KB)
----UdpClient.res(876B)
----UdpClient.dpr(942B)
----UdpServer.dproj(4KB)
----UDPServer.res(5KB)
----UdpServer.identcache(2KB)
----UdpClient.dproj(4KB)
----UdpClient.identcache(2KB)

网友评论

  • 很好用,代码易懂
  • 用到了皮肤,编译不成功。源码有参考价值
  • 只能实现内部网络的,不能进行打洞
  • 还不错,代码能用
  • 很好用,代码易懂