.net 服务器到";“通知”;另一个用户呼叫时的web服务调用方
我和我哥哥一起做这个纸牌游戏,让我的家人远程玩。有点像窗户里的心。让我们假设它是红心,这样我就不必解释无聊的游戏规则了 将有3名或3名以上的玩家,每个玩家在轮到他们的时候可以在地板上扔一张牌 我有一个数据库和一个类库,其中包含业务逻辑和对数据库的读/写 现在我有几个功能:.net 服务器到";“通知”;另一个用户呼叫时的web服务调用方,.net,web-services,chat,remoting,notify,.net,Web Services,Chat,Remoting,Notify,我和我哥哥一起做这个纸牌游戏,让我的家人远程玩。有点像窗户里的心。让我们假设它是红心,这样我就不必解释无聊的游戏规则了 将有3名或3名以上的玩家,每个玩家在轮到他们的时候可以在地板上扔一张牌 我有一个数据库和一个类库,其中包含业务逻辑和对数据库的读/写 现在我有几个功能: 新游戏 添加玩家 开始游戏 检查游戏状态=>返回地板上有什么,呼叫者手上有什么牌,每个对手有多少张牌,轮到谁了,谁是主人,等等 移动=>用户通知服务器他希望使用某张卡 我有一个web服务,它使用类库和WebMethods来
- 新游戏
- 添加玩家
- 开始游戏
- 检查游戏状态=>返回地板上有什么,呼叫者手上有什么牌,每个对手有多少张牌,轮到谁了,谁是主人,等等
- 移动=>用户通知服务器他希望使用某张卡
- 每x秒打一次电话检查游戏状态,看看情况是否正常
- 使用回调函数异步调用web方法“如果事情发生了变化,请告诉我”。
- 如果超时怎么办 如果用户在中间离开游戏,那该怎么办?
请帮我解决这个问题。只要没有太多的客户端,就可以接受轮询服务。此外,每个客户端都可以向WS发送一个“心跳”信号,以指示“是的,我仍在连接”。通过这种方式,您可以检测断开连接的客户端
如果您不想轮询,可以查看推送通知:WCF双工通道正是为这种情况设计的如果您正在编写新代码,则不应该使用ASMX服务。您应该改用WCF。在许多其他功能中,WCF支持点对点和通过双工通信信道的通知。回顾过去,这个简单的建议对我帮助很大。