使用Remoting开发分布式应用(四) ——采用回调实现一个聊天程序

讲师:任旻

本次课程内容包括
l事件(Event)与回调(Callback)
l点对点(P2P)的实现
l开发聊天软件

 

l事件(Event)与回调(Callback)
Ø事件与委派(Delegate)
ØRemoting中事件的实现方式
Ø配置文件的设置

事件(Event)委派(Delegate)
l事件的原理就是发起者调用订阅者的方法
l发起者保存订阅者方法的Delegate

Remoting中实现事件
l远程对象和本地对象的区别
Ø发起者在服务器端
Ø订阅者在客户端
lRemoting中实现事件
Ø服务器调用客户端的方法
服务器端需要保留客户端的实现类(不现实)
Ø服务器通知客户端
服务器和客户端同时部署通知类的实现

配置文件
l需要“完全”级别的反序列化(Deserialize)


 

l点对点(P2P)的实现
Ø服务器中继
Ø真正的点对点
Ø主从机

通过服务器中继模拟点对点
Server
Client1 Client2
l优点:实现简单,方便管理,
l缺点:服务器压力大,“绕远”

真正的点对点
l一个程序既作为服务器又作为客户端
l需要知道对方的IP和端口

 

主从机
l两个完全一样的应用程序
l一个同时扮演Server和Client
l另一个(或其他)只扮演Client

几种模式对比
l服务器中继
Ø客户端简单,适用于B/S。
Ø聊天室
l真正点对点
Ø一般存在中心注册服务器
Ø适用于较大范围的连接,IP未知
ØMSN Messenger,QQ
l主从机
Ø简化了注册服务器,适用IP已知,如LAN

 

l开发聊天软件
Ø采用主从机模式
Ø事件重现器

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值