请大家讨论一下C/S模式的通讯或游戏软件客户端究竟需不需要直接连接数据库?(100分)

  • 主题发起人 主题发起人 showton
  • 开始时间 开始时间
S

showton

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如果是的话需要增加很多请求和通讯,服务器端负担会不会过重啊。。
2、如果客户端直接连接,安全性或是别的方面会不会有隐患?
3、如果我的UDP包(加密过的)被别人截取之后,解析但是不可能,但我担心
他反复发送此包至服务器端,造成服务器端瘫痪,请问如何防止此类事情发生???
 
最好用3层架构,至少传奇是这样
 
可以详细说说吗?
 
你去网上当一套传奇的服务器就知道了。
如果是游戏的话成千上万个客户端和数据库发生交互效率肯定不行,
游戏数据直接在内存中处理,数据库只存储用户必要的数据,
而且存储应该在另外的线程中处理。
通讯软件更没必要在服务器存储用户的通讯内容,那样不是通讯软件而是论坛了。
 
把你的话归纳一下,也就是说,数据库存储用户基本数据,比如用户信息、
好友列表什么的,其余的数据存储在内存中(我的服务器端就是用了链表来存
储在线用户信息的),客户端不需要连接数据库,需要取得信息的时候通过
发送消息至服务器端,服务器端连接数据库得到数据,返回客户端。。

不知道有什么问题?

 
这样子算不算三层架构?服务器端我打算采用本地数据库Access,感觉快一些,
而且在同一台服务器上,可以弥补Access的安全性问题。。
 
三层并不是只用三台机器,而是指表示层(客户端),商务层(服务层)和数据层。
其实是不是三层并不重要。
 
这我知道.
而且我也已经开始进行多层的改写了,
以前一直用的是C/S+三层的这种模式,呵呵,我也叫不上来名。。

怎么不重要了呢?

 
我的意思是指要系统好用就行,至于采用那种方式要根据实际情况具体分析
至于多层,你做的是什么样的系统呀,搞得太复杂反而会增加编码和维护工作量
象我多是采用3层,不过我的服务层也做到Oracle数据库中[:D]
这样编码和维护都很简单

最复杂的是 (客户端 or 浏览器) + web服务 + 数据库服务 + 数据库
这样作也只是为了适应浏览器
 
已经开始多层应用的更改工作了,
感谢。
 
后退
顶部