高分请教高手!c# ftp unix 服务器问题

maz_alen 2009-04-24 09:09:11
我用C# 写了个ftp 服务器,在windows 的环境下,getFileList 能完全获取ftp服务器目录下的所有文件,可换成ftp 一个unix 服务器,却只能获取该目录下一个文件,其他文件获取不到,请教怎么解决?
while (true)
{
j++;
int bytes = cSocket.Receive(buffer, buffer.Length, 0);

mes += ASCII.GetString(buffer, 0, bytes);
Log.WriteLOG("bytes" + bytes);
Log.WriteLOG("mes" + mes);
if (bytes < 0 || j>10)
{
break;
}
}

这段代码在windows 服务器上,能完全获取目录下所有文件,可unix 服务器却不行,急,急,急,急!
...全文
99 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
maz_alen 2009-04-24
  • 打赏
  • 举报
回复
或者,谁有 C# 实现显示ftp指定服务器目录下,所有文件的代码?

ftp 服务器是 unix 操作系统,不是 window的
maz_alen 2009-04-24
  • 打赏
  • 举报
回复
我昨天是用 sendCommand("NLST *.*");
结果显示,只取到一个文件,即 OR-2009 00054749.TIF
后面Socket.Receive 就只能读到 0 了,读取不到信息了,实际上,该目录下有很多类似文件,但为什么只能取到一个呢???


2009-4-23 21:01:04 bytes 22
2009-4-23 21:01:04 mes OR-2009 00054749.TIF

2009-4-23 21:01:04 bytes 0
2009-4-23 21:01:04 mes OR-2009 00054749.TIF
rtdb 2009-04-24
  • 打赏
  • 举报
回复
LIST *.* ?


你确定服务器端是一个普通的FTP服务器还是你们自己开发的通信服务器?

FTP应该用 ls 才对吧。
maz_alen 2009-04-24
  • 打赏
  • 举报
回复
sendCommand("LIST " + mask); 调用 sendCommand("LIST *.*");

private void sendCommand(String command)
{

//Log.WriteLOG("command=" + command);
Byte[] cmdBytes = Encoding.ASCII.GetBytes((command+"\r\n").ToCharArray());
clientSocket.Send(cmdBytes, cmdBytes.Length, 0);
readReply();
}


请帮忙!
rtdb 2009-04-24
  • 打赏
  • 举报
回复
这根本不是取目录的代码。

贴取目录的代码部分。
maz_alen 2009-04-24
  • 打赏
  • 举报
回复
那应该怎么写? 请教!
但在window环境下,这方式也能取到目录下所有文件名的
满衣兄 2009-04-24
  • 打赏
  • 举报
回复
你这段代码是接收数据流,原因不在这里,在发送端,发送端没有正确获得目录发送过来。
满衣兄 2009-04-24
  • 打赏
  • 举报
回复
你这段代码是接收数据流,原因不在这里,在发送端,发送端没有正确获得目录发送过来。
maz_alen 2009-04-24
  • 打赏
  • 举报
回复
up

110,538

社区成员

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

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

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