您的位置:首页 > 其它

Silverlight+WCF 新手实例 象棋 房间状态更新(二十)

2010-07-19 15:36 274 查看
在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示

这节开始,标题里就去掉"回归WCF通讯应用"几字了。

上节我们成功实现了进入房间,服务端也收到用户进入房间的请求了,这节,我们服务端收到进入房间请求后,通知在房间大门外的人更新房间状态。

我们要增加一个回调方法,ICallBack接口那,忘记的人回去看看WCF通讯那几篇(十四到十七节)。

方法如下,以前说过了,回调的方法是给客户端实现的,服务端只管调就行了:

using System.ServiceModel;

namespace GameService

{

interface ICallBack

{

[OperationContract(IsOneWay = true)]

void NotifyRoomUpdate(Room room);

}

}

那我们回到服务端进入房间的代码,只管调用一下了:

我们看下这段进入房间代码:

public void ReDraw()

{

redChair.Fill = new RadialGradientBrush(RedPlayerInChair ? Colors.Blue : Colors.Red, Colors.Transparent);

blackChair.Fill = new RadialGradientBrush(BlackPlayerInChair ? Colors.Blue : Colors.Black, Colors.Transparent);

}

OK,客户端写完了,我们F5运行看结果:

启动一个浏览器,登陆后我们不动,同时复制地址,新开一个浏览器,也登陆进去如下图:



好,我们点击第二个浏览器进去第一个红色房间:



看,第一个房间的状态变了。至此,我们顺利完成了房间状态的通知更新。

那退出房间哪去了?别急,Index页面还没东西呢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: