本人一直喜欢简单小巧快速便捷的Access
虽然MSSQL与MYSQL等功能更加强大。但是不得不吐槽搭建成本和繁琐程度,MSSQL被注入则会导致系统极不安全
而Access拥有基本使用的功能,就缺少远程访问的支持。然后就百度谷歌必应,结果只找到一个比较靠谱的VB6+OCX控件,据说还有后门
好吧,还是VB6,除了玩玩,开发点小产品换点饭吃恐怕都不那么好办。所以果断自己开发vb.net版本的远程Access。
【使用的技术】
(1)多线程
(2)Socket通信(TCP/IP)
(3)数据源XML导出导入
(4)XML分包
【实现功能】
(1)Access外网共享访问(废话,必须的)
(2)多用户同时连接访问数据库
(3)理论上突破Access最大并发数255,稳定与否待实验
(4)自定义服务器命令
(5)任意语句查询、执行、返回结果表
(1) 基本快要一行一注释
(2) 完整傻瓜化的实例及附带测试数据库
下一步打算封装成DLL,傻瓜化调用
从VB6的Winsock过渡到面向对象的Socket还是改不掉事件驱动的思想。写的较差,不过能稳定运行。使用过的资源也未做释放处理。放到真正服务器上用户量多的情况下可能要留意下未释放资源带来的内存增量。
虽然MSSQL与MYSQL等功能更加强大。但是不得不吐槽搭建成本和繁琐程度,MSSQL被注入则会导致系统极不安全
而Access拥有基本使用的功能,就缺少远程访问的支持。然后就百度谷歌必应,结果只找到一个比较靠谱的VB6+OCX控件,据说还有后门
好吧,还是VB6,除了玩玩,开发点小产品换点饭吃恐怕都不那么好办。所以果断自己开发vb.net版本的远程Access。
【使用的技术】
(1)多线程
(2)Socket通信(TCP/IP)
(3)数据源XML导出导入
(4)XML分包
【实现功能】
(1)Access外网共享访问(废话,必须的)
(2)多用户同时连接访问数据库
(3)理论上突破Access最大并发数255,稳定与否待实验
(4)自定义服务器命令
(5)任意语句查询、执行、返回结果表
【结构图解】
【源码:VS2012+100%开源】
源码下载
(1) 基本快要一行一注释
(2) 完整傻瓜化的实例及附带测试数据库
下一步打算封装成DLL,傻瓜化调用
从VB6的Winsock过渡到面向对象的Socket还是改不掉事件驱动的思想。写的较差,不过能稳定运行。使用过的资源也未做释放处理。放到真正服务器上用户量多的情况下可能要留意下未释放资源带来的内存增量。
【V1.1 版本源码:VS2012+100%开源】
不再使用延迟的土办法分包发包,确保不受延时及超时的影响
使用分包应答方式确认每个数据包接受,超时时间设置为5秒钟。