主题:[请教] VFP能否时时在远程网上传递数据?
北京惬意
[专家分:1330] 发布于 2009-12-28 10:35:00
近日在广州的一个展会上展销本人用VFP开发的《北京惬意商务软件》,就是进销存和餐饮都能应用的软件。
在展会上,有很多大一些的商家询问:“我在各地有多家分店或经销商,我能不能随时掌握各地的经营情况?”在我们软件里要得到这样的效果应该是叫时时传送吧?如何才能实现?
在展会上,本论坛的SIMON老师光临了我的展位,我们共同讨论了这个问题。SIMON老师提出要在总经销商那里设有固定IP地址,所有数据都时时传送到总经销商那里,总经销商才能方便的随时查看,不应该是总经销商去各地的分销商机子上去查看,我觉得很有道理。
我俩只是讨论,并非结论,同时也还要进一步细化。欢迎各位高师继续献计献策,在下首先拜谢了!
最后更新于:2010-02-18 05:43:00
回复列表 (共48个回复)
31 楼
foxdb [专家分:1830] 发布于 2010-01-13 23:43:00
第二个问题:
如何由VFP程序自动映射盘符(网络驱动器)?
****映射H:盘*************************
DECLARE integer WNetAddConnection IN win32api string,string,string
nOK = WNetAddConnection(M_path,M_LogPass,"H:")
IF nOK <> 0
MESSAGEBOX(' 因H:盘符本地占用或网络连接故障!',16," 请网络管理员处理!")
CLOS ALL
QUIT
ENDIF
***断开H:盘
=WNetCancelConnection("H:",0)
进一步您可以VFP程序禁掉本机映射的路径和盘符记录,也就是您手动映射保存的“驱动器”和“文件夹”的
内容,这样就没有任何映射过的痕迹了。。。
再绝一点,当您*映射H:盘只要没断开,在管理器是可以看到H:盘的,VFP程序一样可以屏蔽掉他。
这样,除了您之外,任何人从表面上是看不出您的VFP联到那里了的。。。。可能是局域网里的某台机
也可能是互联网上任意的一台或几台机了。。。。。
32 楼
北京惬意 [专家分:1330] 发布于 2010-01-14 06:38:00
多谢foxdb老弟的关注,我正在逐条逐句的研究你的讲解,有搞不懂的地方还要向老弟请教,还望老弟不吝赐教啊。
预祝虎年老弟多赚钱,全家幸福安康!
33 楼
zxs4785 [专家分:410] 发布于 2010-01-14 08:54:00
[quote]下面几种方法我试的结果是
1、 VFP客户端 + SQL Server "用DDNS 开端口 结论:不安全 "
2、 VFP客户端 + VPN虚拟网络 + SQL Server 或 DBF表 结论:速度太慢而且不稳定
3、 VFP客户端 + asp + VFP的COM + SQL Server 或 DBF表 结论:可行速度能满足要求
4、 VFP客户端 + asp.net + SQL server 或DBF表 或MDB数据库 这个没试过
我的方法是 VFP客户端 + asp+DBF 或SQL server 不用VFP的COM 在server端用asp直接访问DBF 或SQL server 再将结果返回VFP客户端如果您的数据敏感(如储值卡数据)就用SSL(请参看我在本坛的有关回贴)
[/quote]
---------------------------
“VFP客户端 + asp+DBF 或SQL server 不用VFP的COM ”这种方式做通用数据处理中间层的确是可以的,我也试过,但就是因为纯asp无法压缩传输数据,数据传输性能上根本无法提高,所以我才选择第4种 即 “VFP客户端 + asp.net + SQL server 或DBF表 或MDB数据库 ”这种方式的。
ASP.NET2.0中有支持数据压缩的类,不需要第三方的组件就可实现压缩传输数据,所以用它来做通用数据处理中间层是最理想的。
34 楼
foxdb [专家分:1830] 发布于 2010-01-14 11:47:00
谢谢种子老哥给我和 zxs4785 赵贤弟 探讨的机会。
关于“VFP客户端 +asp+DBF”的压缩传输问题?
首先 用VFP的COM 或在server端执行压缩、统计等功能会增加server的运行负荷,当用户数达到一定的时候就会反应迟钝。
这主要是对ASP的设计和传输的数据结构没有深入的考虑。
我的做法是:
1、远程的server只是当作纯数据存储用。(只负责压缩后的数据存取,即数据数据访问层)
2、压缩、统计等所有功能放在VFP客户端。
3、server端的ASP采用ajax技术实现局部数据更新。(传输的数据量大降)
4、建立本地临时缓存数据库。(注意:ASP+ajax只在VFP客户端后台工作负责处理传输的数据)
5、表示层(界面层)和业务逻辑层都由VFP客户端完成!
6、最大的好处是可以租用“虚拟主机”了,不用为上传组件或控件而烦恼!(一般情况下服务商都不给上传的“特恼火”)
最后;建议 zxs4785 赵贤弟在 ASP.NET2.0中也研究一下ajax 你会收到意想不到的效果的!!!
35 楼
北京惬意 [专家分:1330] 发布于 2010-01-14 11:59:00
二位老弟讨论的如此积极,如此高深,本想多加些分以表感谢。
可每人最多只能评50分,系统再不给加了,十分抱歉!
36 楼
zxs4785 [专家分:410] 发布于 2010-01-14 14:50:00
看得出来,foxdb是VFP网络应用的高手,很高兴与你一起探讨技术问题。如愿意,请加我,QQ:594570286 ,请注明:VFP爱好者 或 你的网名 。
你说的 ajax 是否就是 VFP客户端使用 xmlhttp组件与远程的asp进行通信? 我也是这样的用的,不同的是 ajax是异步通信的,而我用 xmlhttp是同步通信的。
我想知道,既然VFP客户端有压缩的功能,不用VFP COM的server端是如何解压缩的?
------------------------------------
我的做法是:
1、远程的server只是当作纯数据存储用。(只负责压缩后的数据存取,即数据数据访问层)
2、压缩、统计等所有功能放在VFP客户端。
3、server端的ASP采用ajax技术实现局部数据更新。(传输的数据量大降)
4、建立本地临时缓存数据库。(注意:ASP+ajax只在VFP客户端后台工作负责处理传输的数据)
5、表示层(界面层)和业务逻辑层都由VFP客户端完成!
6、最大的好处是可以租用“虚拟主机”了,不用为上传组件或控件而烦恼!(一般情况下服务商都不给上传的“特恼火”)
最后;建议 zxs4785 赵贤弟在 ASP.NET2.0中也研究一下ajax 你会收到意想不到的效果的!!!
37 楼
北京惬意 [专家分:1330] 发布于 2010-01-22 05:11:00
zxs4785、foxdb二位远程大师请回帖,有事相求。
38 楼
北京惬意 [专家分:1330] 发布于 2010-02-11 07:54:00
[quote]
如何由VFP程序自动映射盘符(网络驱动器)?
****映射H:盘*************************
DECLARE integer WNetAddConnection IN win32api string,string,string
nOK = WNetAddConnection(M_path,M_LogPass,"H:")
IF nOK <> 0
MESSAGEBOX(' 因H:盘符本地占用或网络连接故障!',16," 请网络管理员处理!")
CLOS ALL
QUIT
ENDIF
***断开H:盘
=WNetCancelConnection("H:",0)
[/quote]
------------------------------------------------------------------------------
请教31楼foxdb老师:
昨天本人开始研究上面自动映设语句,觉得语句里应该有被映设机子的名称。否则同一局域网内多台机子时,怎么能知道是映设的哪一台呢?谢谢!
39 楼
北京惬意 [专家分:1330] 发布于 2010-02-14 13:59:00
自动映射盘符,还望有高人指点。
40 楼
北京惬意 [专家分:1330] 发布于 2010-02-16 19:52:00
[quote]
如何由VFP程序自动映射盘符(网络驱动器)?
****映射H:盘*************************
DECLARE integer WNetAddConnection IN win32api string,string,string
nOK = WNetAddConnection(M_path,M_LogPass,"H:")
IF nOK <> 0
MESSAGEBOX(' 因H:盘符本地占用或网络连接故障!',16," 请网络管理员处理!")
CLOS ALL
QUIT
ENDIF
***断开H:盘
=WNetCancelConnection("H:",0)
[/quote]
------------------------------------------------------------------------------
请教31楼foxdb老师:
昨天本人开始研究上面自动映设语句,觉得语句里应该有被映设机子的名称。否则同一局域网内多台机子时,怎么能知道是映设的哪一台呢?谢谢!
我来回复