我决定用c#写一个纸牌游戏,它有一个winform应用程序,用于主服务器用web界面管理游戏。我为主服务器选择了SignalR自主机。因为我想将此应用程序出售给其他人,并且不想修改Web界面的代码或html。所以我的问题是:处理10000个客户端请求有用吗?有没有办法写这个应用程序以获得更好的性能? 另一件事是我想写主服务器和登录现金配置文件和...大多数客户写的扑克专家和我只是用json创建一个api来完成这个功能。 plzzzz指导我哪个方式更好地编写这个应用程序!
答案 0 :(得分:1)
您的服务器代码是自托管的,并且javascript客户端调用您的服务器方法,成为您的基于浏览器的客户端,您的设计应该有效。
我在看这个。 https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host
但我认为你需要找出自我主机的横向扩展方案和服务器故障情况。如果服务器上有补丁更新并且必须重新启动,则您需要能够获得备份。还需要考虑升级服务器的情况。因此,您需要能够在多个服务器中托管它,并且您需要提供信号器背板选项。
从性能的角度来看,我在单个4核14-GB服务器上测试了一个web api signalR应用程序,并且能够扩展到20k连接,服务器可以轻松地为每秒200多个请求提供服务。
使用背板时,这些数字大约为100-150 rps。 两种情况下的响应时间都非常好~500 ms。
虽然请注意,根据您的实际功能,您的号码可能会有很大差异。