倾我所有<500分,大家还会加分的!>提关于数据转输的问题(100分)

  • 主题发起人 主题发起人 xiehuadong
  • 开始时间 开始时间
X

xiehuadong

Unregistered / Unconfirmed
GUEST, unregistred user!
我一至在作MIS,管理的程序,数据传输我试过很多方法,
1.用windows自己拨号,然后copyfile,再手工汇总到数据库中,()
缺点:自动化程度差
2,用Modem进行串口通信,自动响应客户的sql命令,自动生成数据包,传给客户端,
缺点:稳定性差,而且在同一时间只能响应一个客户的请求

计划:
有ftp,socket 实现:在任何地方,只要能上网,不论用什么方式上网,
只要服务器开启,就可以连上,根椐客户端的请求,
生成相应的数据包,发送给客户端,客户端收到数据包,自动更新自己的数据库

我在论坛上见到有很多关于这个问题的贴子,但没有一个有详细的解答的,所以我希望同样关心这个问题的朋友,再加一点分,把高手们吸引过来,大家讨论一个具体的实现方法,包括大家一起写出一些demo代吗,
 
对不起,点分点错了,请问如何加上?
 
方法很多, 我常用socket,就是用三层的形式。
 
能不能具体一点,三层,我用过,好象不一定就要用socket 啊
 
老大,给不能给点demo,我连delphi中的要用哪些控件都不知道,
给个例表好吗,我用的是dephi7
 
补充:
我的想法是,还要建一个web server或ftp服务器,
请问哪一种好一些?
 
WEBFILEI.ZIP
http://www.vclxx.org/DELPHI/D32FREE/WEBFILEI.ZIP
TWebFileInfo 构件可以帮助您得知某个 Web 站台内某个文件内容是否被更新,倘若被更新可以利用 HTTP 通讯协议自动下载该文件的构件 ( 0.81 版,附源码 ),作者 : Jon M. Robertson
 
一个利用WinSocket控件传送文件的Demo
http://www.aidelphi.com/6to23/docu/transfile.zip
 
我做过,已经实现。用indy控件,idtcpserver和idtcpclient通讯,idftp传输文件。
完全可以实现楼主所曰的要求,而且也很稳定。
服务器:win2k+sqk2K+SerU(FTP server)
客户端:winX+Access(.MDB库)
客户端连接服务器idtcpclient-&gt;idtcpserver,服务器接收消息分析用户资料把所要数据提出成access文件,用vclzip压缩放到FTP指定目录中,完成后向客户端发送完成信息和下载链接地址;客户端收到消息后用idftp开始下载,分析数据然后本地access库,再把要上传的数据提出来成access文件然后压缩,用idftp上传到FTPserver上,上传完成后用idtcpclient告诉服务器并让服务器端开始入库,服务器端入库成功后返回消息给客户端。
 
to :piao40993470
谢谢你的思路,我试一试
 
还有,我没有用过indy,能不能告诉我在什么地方下载,?
 
to:piao40993470
你的这种方法也许是最好的了,如果生成的文件大的话,不过,怎样通知等,你是如何实现的呢?跟有没有防火墙无关吧?能给我一个Demo吗?我在这个问题上想了很久了,还没有解决,多谢你了。
 
demo算了吧。。看看indy的demo个人觉得很有启发性的。反正我现在的数据量一般都在100M(图片太多)左右,最大的有200多M目前为止还比较稳定。服务器端是多线程的,因此要处理得比较合理一些,比如在入库时保证每时刻一线程在操作(用个互斥量就搞定了),出库就无所谓了。(((只要防火墙打开indy所使用的端口就OK了
 
http://www.indyproject.org/download/index.html
有indy最新版控件和demo下载,我用的是D6+indy9.014实现的。
 
to:piao40993470
http://www.indyproject.org/download/index.html
的例子是多线程的吗?我不会多线程,你所说的
。"(((只要防火墙打开indy所使用的端口就OK了)))"是服务端的indy端口打开还是服务端和
客户端的端口一起打开呢?如果客户端也要打开那就有点不好。
能具体的说一下吗?
 
其实你用一下demo就知道了(单线程和多线程操作的都有),使用控件时是可以设定通讯用的端口的,只要那个端口没被占用就OK了,indy从一开始就被设计成多线程的,使用起来也很容易。
  如果你对网络协议不了解了话,就看demo估计也看不出个所以然来的。
(当然不一定要了解得很细,只要知道通讯方式也就可以了的。还有就是当你了解防火墙的基本工作原理后也就明白我的意思了的。
 
多人接受答案了。
 
后退
顶部