VFP如何通过COM口传送文件?

dfwxj 2012-07-06 12:16:44
问题的提出:

需要将单位的内网数据取出,通过外网传送到远程服务器上。遇到的情况是:好多单位的内网和外网物理上是严格分开的,不允许相连,也不允许通过其中一台电脑安装双网卡解决。这时想取出内网数据发送到外网,只能通过导出数据,用U盘拷贝。其实这种方式更危险,病毒来得更快。所以我想能不能通过COM口传送文件。请注意:不是简单的传送数据,而是传送一个压缩文件,并且要通过程序代码解决,通过独立工具传送的不合要求。

大家先看看,我网上找到一个控件,有VB例程,要装上VB才能看看。
...全文
310 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2012-07-09
  • 打赏
  • 举报
回复
是你说的那个意思,你试试吧。
dfwxj 2012-07-09
  • 打赏
  • 举报
回复
5楼说得不错,但不能因噎废食。目前电力系统应当是管理得相当严格的单位了,但不控制光盘,U盘是专用,也不控制串口。

串口通信一定要有协议的吧?这个协议在哪?就在我的程序里。别的什么病毒啊什么的,想要自己钻进内网,总得有个内应吧?估计我不会提供这个接口。

打印口是传输速度是快,但是距离短,误码率高,数据线多。USB直接就是串口,本来就叫“通用串行总线”。蓝牙、无线更别去考虑了,还得增加硬件。

说实在的吧,其实这些单位是真的不懂,这东西应当是软硬同步管理,单纯从硬件上隔离并不能完全达到目的。目前我已经发现好几家的内网里全是毒。
babydog01 2012-07-09
  • 打赏
  • 举报
回复
呵呵,这样也是不被允许的。很多政府或企业内网都要求只能出不能进,以防病毒带入内网。意思就是内网的东东可以放到外网,外网的东东不能放进内网。实现方式是光盘刻录后,放到外网上。或用带读写开关的U盘,在内网可找开写开关,在外网必须关上写开关。可行不可行是另外一回来,反正是这样要求的。

楼上用串口传送也不允许的。串口传送也是联网,它跟双网卡是一样的道理,只不过通过程序控制它开关,网卡可通过程序控件开关的,串口联通后,跟网卡是一样的,也可被病毒利用。

如果说这种方式不算是违规的话。楼主还可利用打印口来传送,速度是串口的好几倍。还可利用一种两端都是USB的数据模块来传送,又是打印口的好几倍。还有好多无线方案,如蓝牙、无线串口等。
dfwxj 2012-07-08
  • 打赏
  • 举报
回复
先谢谢豆三!

我的文件是已经通过MYFLL进行压缩了的DD.CAB文件,一般比较大,是上M的。转换成二进制字符型数据有没有长度限制?

然后,我要通过串口发送,是不是依次截取一定的长度发送?

然后在接收端再将接收到的数据连接成一个字符串,再还原志文件。

是这样做吗?


连接线我自己会做,用两个D9头和网线焊接一下就可以了,长度限制为15米。2、3两脚交叉,5脚接地。

另外:我在网上搜索到一个Sax Comm Objects8控件,可以发送文件的,有VB例程,我装个VB看看
十豆三 2012-07-06
  • 打赏
  • 举报
回复
你需要购买一个2端都是9孔的串口线,将你的内网电脑和外网电脑连接上,然后用串口助手调试一下试试。
十豆三 2012-07-06
  • 打赏
  • 举报
回复
你以前问过通过 COM 口发送数据的帖子。
将你要发送的文件转成二进制或十六进制,然后发送,另一端接收。

* 假设 c:\a.txt 内容为:b1
lchStr1=Createbinary(Filetostr('c:\a.txt')) && 将 a.txt 转成二进制字符型数据
?lchStr1 && 显示内容为:0h6231
*!* 将 lchStr1 通过 COM 口发送,应该发送前和发送后,再发送一些标志表示开始和结束。
*!* 另一端接收到后,通过开始和结束标志将接收到数据截出来。
*!* 如 lchStr2 为截出来的 lchStr1 内容,现在再还原成文件
=Strtofile(lchStr2,'c:\b.txt')

至于压缩和解压缩,你可以调用 Winrar 或 用压缩控件 或 用 MyFll.fll 中的 zip、unzip。

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧