走过路过,千万不要错过,百分,求助局域网传输文件实例或源码,敬请高手出招,在线苦等中!!!!
如题 问题点数:100、回复次数:11Top
1 楼lhx1977(清水无鱼)回复于 2006-03-03 13:47:26 得分 0
可以使用web service完成,传递中间数据使用byte[]
还可以使用共享的方式完成,设置一个固定的共享,直接复制。这要求所有的微机都能访问服务器,最好是在控制器上。
使用FTP,自己写上传与下载。
Top
2 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-03-03 13:48:18 得分 0
自己顶吧,谁能帮我Top
3 楼jiezhi(风满袖)回复于 2006-03-03 13:49:35 得分 0
FTP,你可以找到很多现成的代码。
最简单的办法就是共享文件。。。
Top
4 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-03-03 13:50:33 得分 0
lhx1977(清水无鱼) 能说得更清楚一些吗,能给个例子吗Top
5 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-03 13:52:29 得分 0
最简单的是用ping和net use命令
public static bool Ping(string remoteHost)
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"ping -n 1 " + remoteHost;
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(500);
}
string pingResult = proc.StandardOutput.ReadToEnd();
if (pingResult.IndexOf("(0% loss)") != -1)
{
Flag = true;
}
proc.StandardOutput.Close() ;
}
catch (Exception ex)
{
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}Top
6 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-03-03 13:52:39 得分 0
我找了个Delphi的,看不懂,要是VB。net,或C#的就好了
Top
7 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-03 13:53:38 得分 0
public static bool Connect(string remoteHost, string userName, string passWord)
{
if(!Ping(remoteHost))
{
return false;
}
bool Flag = true;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"net use \\" + remoteHost + " " + passWord + " " + " /user:" + userName + ">NUL";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
if (errormsg != "")
{
Flag = false;
}
proc.StandardError.Close() ;
}
catch (Exception ex)
{
Flag = false;
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}Top
8 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-03 13:54:45 得分 0
用Connect命令返回true后
你就可以像操作本地文件一样了
这个方法的前提是你知道目标机器的用户名和密码
此代码经过测试,没有问题
如果不明白,短消息~~~~Top
9 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-03-03 14:00:34 得分 0
大家都用过IPMsg吧,类似于它那样的文件传输。
回lovefootball(蟑螂):
不可能知道每个人的密码的啊Top
10 楼dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!)回复于 2006-03-03 14:05:43 得分 0
我再找FTP的例子看看吧,同样谢谢lovefootball(蟑螂)Top
11 楼TheRule(绝非偶然)回复于 2006-03-03 16:27:43 得分 0
方法很多呀,
1、ftp可以,例程很多,搜索下
2、点对点(P2P)的也可以,例子搜一下有很多
3、对socket编程也可以
4、文件不是很大,用ipc进程间通讯也可以,codeproject上有个详细的例子
http://www.programsalon.com/detail145416.html上有一个ftp服务器源码
http://dotnetjunkies.com/WebLog/darrell.norton/archive/2003/07/14/427.aspx是一个开源的c#FTP库
http://www.51cto.com/html/2005/0920/3417.htm是一个socket例子
等等
Top




