新手关于CS模式的问题:
问题一:客户端如何访问数据库?
如果是客户端发送请求,服务器处理数据库,再将请求结果反馈到客户端。这样子的话,服务器的工作量就太大了,况且,访问起来也不方便。在命令请求的过程中,也容易出现很多问题。我现在也是这样处理的,但是发现这种方法实在是不太不方便,各种数据处理起来也麻烦。。。
如果是客户端直接访问数据库,那么con.ConnectionString = "Server=VICTOR-PC\\SQLEXPRESS;Database=GoldenFlower;UID=hcz;PWD=hechengzhi";怎么处理?如果不处理,客户端与服务器不在一台电脑上就不鞥访问数据库。如果想访问,就必须解决数据库连接的问题。
问题二;服务器端如何同时发送同样的命令给所有连接的客户端?
如果是向指定的客户端发送消息,可以用client.send(),如果是所有在线的用户都能接收到呢?
谢谢各位大神的帮助哈,新人求罩。。。。
------最佳解决方案--------------------如果没有数据库,所谓“C/S”程序是不是就不能做了?这样看起来数据库厂商解决了程序员80%的问题,包括数据存储、通信、还有大部分和数据处理相关的程序功能。
假定没有数据库,你的问题的答案就显而易见了。
------其他解决方案--------------------
要么用web service,但这个通讯效率有待商榷。
另一种就是客户端配置的数据库连接串使用加密的方式。客户端启动时再解密。
这个就需要另外做一个加密工具,以方便配置客户端数据库连接。
------其他解决方案--------------------cs模式如果需要对数据库的访问,而且可能跨网,使用webservice,安全问题使用wcf。第二个问题看你采用什么协议,udp的话,直接发,客户端搞个侦听即可,tcp的话,要考虑socket链接问题,因为是可靠连接,所以一旦断掉链接,就不能发了
------其他解决方案--------------------这就好比如说“我发现自己吃饭,那么我的胃的工作量太大了。所以我发现别人喂我最省事!”。
其实你调用关系数据库的本地客户端驱动来访问关系数据库服务系统,人家服务器系统不是一个有工作量的东西么?
其实就是开发能力不够,无法自己做网络系统。还是不要找借口为好。
------其他解决方案--------------------第一个问题,你问怎么处理是指的哪方面?如果指的是安全,那么可以给数据库配置连接串加密,程序启动时读取后解密。
------其他解决方案--------------------我就考虑到安全的问题,认为应该是服务器访问数据库,但是,这样子不是很方便。。。如果不考虑安全呢?可以怎么做呢?
------其他解决方案--------------------假设我们是一个电视机厂,我们招聘的员工肯定是相关的开发人员。假设我们招聘的人员说:“现在人人都会到商场里买电视机啊,我们还研究电视机干什么呢?我觉得我们上班时只做一些坐在家里看电视类似的小事情是最省事的!”,那么我们肯定就要辞退次开发人员了。
设计开发网络系统,就是为了拥有掌握这个系统。你现在找个借口就把它变成“调用数据库的客户端驱动”了,那么久是会用了c/s的一点点产品的(最普通用户都会摆弄的)使用方法而已,而不是了解其开发技术。
------其他解决方案--------------------假设我们是一个电视机厂 --> 假设我们是一个电视机研发工厂
------其他解决方案--------------------我要是会,还会在这里问?不就是比我懂得多么?有必要这样子说?请看标题,是新手。。。你不是从新手过来的,你天生就会?我有找借口?开始做的时候把方向搞错了,我承认是我能力不够。感情照你这么说,要有能力的人才配问问题?“我发现自己吃饭,那么我的胃的工作量太大了。所以我发现别人喂我最省事!”这句话,真心搞不懂你是怎么比喻的。我说的服务器工作量太大,那也是开始搞错方向的时候,自己这破电脑拉不动,就是“胃只有这么大,吃多了会撑坏”。
------其他解决方案--------------------你是牛人,我不跟你争,谢谢您的教导,新人打酱油。
------其他解决方案--------------------知道,你不会摆弄,你会的就是,用最严厉和苛刻的眼神去看你所看到的一切,然后用很酷的批评别人的不对。又不是人人学计算计专业都要从事计算机方面的工作。就谢谢大叔的关心了哈。