高分跪求(分不够可另开帖加分):局域网文件传输问题解决方案及关键代码...

szj820 2005-06-27 05:33:19
高分跪求(分不够可另开帖加分):局域网文件传输问题解决方案及关键代码...

要求如下:
在局域网中有N(50-100)台客户机,每台客户机每天会产生400-800个JPG文件(其中25%尺寸为400-500KB,75%尺寸为20-50KB)。JPG文件都存放在指定的目录下。客户机win98系统。
在局域网中有一台服务器,现在需要写个程序自动并实时地将全部客户机上的JPG文件保存一份到服务器上。保存到服务器的指定目录下并按客户机分文件夹存放。服务器win2000 server系统。

注:客户机及服务器上都可做FTP服务

求效率最高的解决方案及关键的部分代码,小弟在此先谢了!!!!!!!

急急急!!!!求各位大侠援手............
...全文
324 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonegoldaustin 2005-06-28
  • 打赏
  • 举报
回复
文件监视管理就是实时的
szj820 2005-06-28
  • 打赏
  • 举报
回复
首先感谢以上各位的发言,谢谢了!

但我发现一个问题,大家都没有注意我的一个要求----实时

还请各位能多多提提你们的想法
stonegoldaustin 2005-06-28
  • 打赏
  • 举报
回复
我觉得那就要看楼主的备份机制了,如果是覆盖的机制那应该没什么问题,直接传送即可,如果要分日期的话,我觉得那就应该在目录下再细分一层目录来备份不同日期的文件。
至于判断图片是否已经传输,我想应该有多种方法,日志(数据库)记录、文件属性应该都可以用来判断。
我不懂电脑 2005-06-28
  • 打赏
  • 举报
回复
最简单的建立IIS服务器用WebClient传输文件

[C#]
Console.Write("\nPlease enter the URL to post data to : ");
String uriString = Console.ReadLine();

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();

Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URL");
string fileName = Console.ReadLine();

Console.WriteLine("Uploading {0} to {1} ...",fileName,uriString);
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);

// Decode and display the response.
Console.WriteLine("\nResponse Received.The contents of the file uploaded are: \n{0}",Encoding.ASCII.GetString(responseArray));
  • 打赏
  • 举报
回复
但是有个问题,如果图片已经传输过,怎么辨认并判断?
贴主的要求是把图片备份到服务器上,而不是移动到服务器上。就是说昨天的图片还在。
那么每个客户机的图片会越来越多,怎么辨认区分昨天已经备份的图片和今天生成新的图片?
stonegoldaustin 2005-06-28
  • 打赏
  • 举报
回复
感觉如果图片并不是同时产生的话,建议在客户端写一个文件夹监视程序,有了新图片就上传,这样我想对服务器和网络的压力就分散多了。
  • 打赏
  • 举报
回复
同意 csdnzm(明飞) 的方法,最好的方法。

服务器上最好装Windows2003系统,他对.net的Windows服务支持最好。

你用C#/VB.net/C++.net等语言写一个Widnows服务程序,安装到服务器上并运行。

Windows服务没有界面,他的作用就是定时(比如说周一到周五XX:XX)根据一个保存客户机地址的配置文件,把所有在局域网的客户机的固定共享目录/FTP把文件拷贝到服务器的固定文件夹内。

个人建议,如果客户机性能还可以的话(我觉得建立图片的机器性能应该不差),应该使用ftp方式,98的共享文件夹功能不是很稳定。服务器的程序只要使用一个/几个线程,引用一个带FTP的组件就可以了。

这个方法有个好处,就是开发的程序仅放在服务器上,而且资源消耗也少,客户机仅装一个FTP软件就可以了,只要客户机的图片放在特定的文件夹就行。
szj820 2005-06-28
  • 打赏
  • 举报
回复
herony420(坦荡荡) :web service听说效率不高,我曾想用remoting socket来解决,但不知道应该怎么做?

有哪位高手能详细用代码帮我解答一下吗? 服务端...客户端...
  • 打赏
  • 举报
回复
方法很多,
A\可以是在服务器上运行一个程序,客户端提供ftp或共享目录,服务器的程序轮训拷贝就可以了
B\客户端安装程序,定时发送文件到服务器
herony420 2005-06-28
  • 打赏
  • 举报
回复
最简单的方法:服务器作为一个web服务器,建立一个web service服务器,各客户机可以使用smartclient的方式也可以使用web方式,直接使用流上传就可以,注意在使用时要使用异步的方式。
当然,如果仅仅是局域网的话,可以选择的余地就更多了,开发一个smartclient,使用socket直接进行传输这样的速度就会更快!
szj820 2005-06-28
  • 打赏
  • 举报
回复
请高手们帮忙
shilei831115 2005-06-28
  • 打赏
  • 举报
回复
狂ding
szj820 2005-06-28
  • 打赏
  • 举报
回复
看了MSDN中FileSystemWatcher的部分,但还不是很明白应该怎么运用?

有哪位大哥能根据我的需求帮我写个简单的示例代码给我学习学习,谢谢了
hawk5456 2005-06-28
  • 打赏
  • 举报
回复
顶一下
stonegoldaustin 2005-06-28
  • 打赏
  • 举报
回复
FileSystemWatcher .NET提供
szj820 2005-06-28
  • 打赏
  • 举报
回复
文件监视管理?怎么做?详细点说明好吗?谢谢
szj820 2005-06-27
  • 打赏
  • 举报
回复
dengkeyu(凌风) :具体点,是客户机上做FTP服务还是服务器上做?在客户机上要放什么程序,服务器上放什么程序?
dengkeyu 2005-06-27
  • 打赏
  • 举报
回复
用 FTP 方式传吧
YOLO设计资源源码,详情请查看资源内容中使用说明 YOLO设计资源源码,详情请查看资源内容中使用说明 YOLO设计资源源码,详情请查看资源内容中使用说明 YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明YOLO设计资源源码,详情请查看资源内容中使用说明

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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