一个C/S项目,需要在广域网使用,用到了sqlserver数据库.
现在的问题是,客户端如何操作数据库?
(不要告诉我客户端直接用ado连接数据库.那样密码在客户端暴露不安全.我也不想用webservice连接.)听说可以用socket连接.写一个服务器程序.但我不知道如何用socket传递数据库的表给客户端,愿高手给个思路.
现在的问题是,客户端如何操作数据库?
(不要告诉我客户端直接用ado连接数据库.那样密码在客户端暴露不安全.我也不想用webservice连接.)听说可以用socket连接.写一个服务器程序.但我不知道如何用socket传递数据库的表给客户端,愿高手给个思路.
2、约定消息类型type,指定对数据库做什么操作
操作:
client发送udp包到server udp接收端,Server收到包之后取出type,content,然后根据type
对数据库做增删改查的操作
然后client访问约定好的ip和port发包,也可以同时把client临时的udp端ip和port一起发送,便于server返回数据到cleint。
要解决的问题就是udp每包的上限大小是8k,你需要多次回发
感觉有点麻烦
还有其它的方法吗?(不使用socket的方法也可以)
不是很难。
使用socket实现数据传输和WebService还不是一样吗?
你写的socket程序也要做成Windows服务,也要放在服务器上。
无非就是速度比WebService稍微快一点而已。
光在稳定性上你就要下很大的功夫。
基本思路是:
使用Socket通讯,
在把你需要连接的数据库信息或SQL语句加密传送到服务器端。
服务器端的程序负责解析接收的数据,然后连接数据库,
执行相应的SQL语句,把执行的结果,以流的形式(byte数组),返回就行了。
如果是多客户端并发的话,在服务端的需要多线程处理,
功力不够,做不好的话,会经常造成出错,程序异常退出,
最好加上守护进程处理。
看来,WebService是首选的方式了吧?我是用来最财务方面的应用的.