我希望你能帮我或至少指导我方向。一切都是用C#编程,但客户端应用程序可以使用任何语言,只需要知道与服务器通信所使用的TCP协议。
我制作了一个包括大厅和游戏服务器的服务器应用程序。您可以挂载尽可能多的游戏服务器(实际上,我有三个,仅供测试,每个服务器都有不同类型的游戏)。
客户端应用程序连接到大厅进行身份验证等其他小事,并请求游戏...之后将被重定向到相应的游戏服务器。
所有在游戏过程中处理的信息,统计数据,聊天记录等都保存在PostgreSQL数据库中(您可以配置为使用MySQL,MS SQL)。
现在,玩家想要查询一些关于自己的过去信息或统计数据等...我的问题是:
1. 是否应该让玩家直接查询数据库,也就是从数据库服务器获取结果(发送相应的存储过程命令以获取结果)?
2. 或者(由于他们通过套接字与大厅服务器保持活动连接(以及与游戏服务器保持其他连接))
3. 我是否应该接收请求并通过大厅服务器使用永久活动连接套接字发送每个查询的结果?
4. 哪种方法最高效或甚至更安全?或者,您会推荐其他建议吗?
值得一提的是,所有游戏服务器都预计有5,000-10,000个并发连接甚至更多。
我忘了提到一些查询可能具有大量结果,我的意思是,500/2000行记录(行)和某些列。
我正在考虑通过套接字设置查询,在服务器上处理和打包查询,并将结果压缩后发送给玩家。
提前感谢您。
我制作了一个包括大厅和游戏服务器的服务器应用程序。您可以挂载尽可能多的游戏服务器(实际上,我有三个,仅供测试,每个服务器都有不同类型的游戏)。
客户端应用程序连接到大厅进行身份验证等其他小事,并请求游戏...之后将被重定向到相应的游戏服务器。
所有在游戏过程中处理的信息,统计数据,聊天记录等都保存在PostgreSQL数据库中(您可以配置为使用MySQL,MS SQL)。
现在,玩家想要查询一些关于自己的过去信息或统计数据等...我的问题是:
1. 是否应该让玩家直接查询数据库,也就是从数据库服务器获取结果(发送相应的存储过程命令以获取结果)?
2. 或者(由于他们通过套接字与大厅服务器保持活动连接(以及与游戏服务器保持其他连接))
3. 我是否应该接收请求并通过大厅服务器使用永久活动连接套接字发送每个查询的结果?
4. 哪种方法最高效或甚至更安全?或者,您会推荐其他建议吗?
值得一提的是,所有游戏服务器都预计有5,000-10,000个并发连接甚至更多。
我忘了提到一些查询可能具有大量结果,我的意思是,500/2000行记录(行)和某些列。
我正在考虑通过套接字设置查询,在服务器上处理和打包查询,并将结果压缩后发送给玩家。
提前感谢您。