c# - WCF 聊天/游戏服务器 - 客户端关闭

标签 c# wcf rest client-server chat

任何曾经用WCF服务器作为后端构建过聊天室/游戏的人

您如何处理客户端关闭(意外终止)而没有正常退出/注销的情况,让服务器知道该客户端“已离开”房间/游戏/其他内容

这个问题最近困扰着我,当时我正在开发一个带房间的回合制纸牌游戏,如果我在他在房间里时杀死客户端进程,我作为服务器不知道这个并创建一个通知,它将被其他客户轮询关于离开的客户。

我可以发挥创意,并考虑在我仍然连接的情况下每隔 [second] 发送一次服务器的解决方案。当一秒钟过去而没有得到这个“我还活着!”数据包服务器将遗憾地宣布客户端死亡 R.I.P...

老实说——我认为这个解决方案会让我的服务器在能够声明任何其他客户端的死亡之前就死掉(他每秒需要处理的请求量)

最佳答案

您可以在服务器端编写后台服务,每 x 秒运行一次并调用客户端列表。如果客户端断开连接/没有响应,您可以将客户端状态更新为断开连接。

关于c# - WCF 聊天/游戏服务器 - 客户端关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593073/

相关文章:

javascript - Django框架中GET请求返回[object Object]

javascript - ExpressJS Route 中的正则表达式

c# - 有效地从查询中选择第一项

c# - 无法在 web.config 中为 WCF Web 服务设置服务名称属性

wcf - 客户端无法连接到启动时没有 BaseAddress 的自承载 WCF 服务

c# - 无法添加服务引用 - 锁定/只读

JSON 响应模型设计问题

c# - Thread.Sleep(0) 未按预期工作

c# - Linq to Sql-过滤表结果

c# - 在 If 语句中评估 Bool 错误