日期:2014-05-19  浏览次数:20774 次

求C#开发C/S版程序的好建议
在单机版的基础上开发C/S版,要求能控制客户端数量,并且可能要用到加密狗(客户端不用狗).   用什么模式好呢?   用客户端连SQLSERVER的方式可能不行,有什么别的好方法吗?

------解决方案--------------------
最简单的方法,就是login就对同时在线人数计数,将同时在线人数的数量在数据库中可逆加密,服务端做一个windows程序来检测加密狗,有加密狗则将数据库中使用加密狗字段置为1(也进行可逆加密),客户端做个静态方法,返回是否已经使用加密狗
------解决方案--------------------
链接webservice
------解决方案--------------------
问个傻问题,webservice一定要在IIS下运行吗?

////
是的...就我所知
------解决方案--------------------
帮顶了
------解决方案--------------------
建议不要在客户端直接连接数据库,
1 这样设计到数据库链接信息的安全保障受到威胁,
2 另外,你不能确保SQL端口1433一定可以用(实际上不一定哦)
------解决方案--------------------
我听说XML3.0有前途
不过我不太懂,学习中
我现在做ERP
还是用SQL Server 2005
------解决方案--------------------
用客户端连SQLSERVER的方式可能不行,有什么别的好方法吗?

回答:可以在服务器端连接SQL数据库,如果客户端要查询数据库里面信息的话,那么可以定义一条消息号,然后发送到服务器端,服务器端接收到消息之后,根据消息号的内容分析查询哪些信息,待服务器端查询到信息后,存放到DATASET数据集中,然后把这个数据集序列化成内存流发送到客户端这边,当客户端收到这个信息后,把它反序列化成数据集对象,最后显示在控件中!

不知你想知道的方法是不是我说的这些,谢谢!
------解决方案--------------------
如果客户和服务端都使用.net来开发就很方便了,有很多办法可以实现通讯,除了楼上同学们说的办法,还可以用.net remoting。如果不使用同一种开发语言,那就比较麻烦了,要么用一种标准的协议,比如WebService,要么自己定义一种协议。
------解决方案--------------------
你的情况,觉得还是使用webservice比较好一些。这样你就不动大动你现在已经做好的客户端程序了。
------解决方案--------------------
局域网的话用Socket最好,其实没什么好怕的,用Socket一样可以很方便。
也许Remoting也可以用,比较方便。
------解决方案--------------------
你本身cs间是怎么通信的
------解决方案--------------------
Multi-Thread/Socket