FTP PORT实现遇到一个问题 请高手指点 内附代码

woxihuanbohe 2005-12-01 04:04:20
我实现PORT的代码,代码主要是获取一个Data Stream ,大概如下:

string localHostName = System.Net.Dns.GetHostName();
System.Net.IPHostEntry ipHost = System.Net.Dns.GetHostByName(localHostName);
IPAddress ipHostAddress = ipHost.AddressList[0];
Socket activeSocket = null;
TcpListener listener = new TcpListener(ipHostAddress,0);//这里会自动获得一个监听端口
//开始监听本地端口,等待FTP服务器连接
listener.Start();
IPEndPoint endPoint =(IPEndPoint)listener.LocalEndpoint;

//发送PORT命令
this.SendCommand(endPoint);

if(m_lastResponse.Code == FtpResponse.EnterActiveMode)//如果replay 返回的是 200
{
if(activeSocket == null)
activeSocket = listener.AcceptSocket();
//问题:这句是在这里写吗?调试的时候 运行到这里系统会等待很久。不知道为什么

//...
return new NetworkStream(activeSocket,true);
}
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
woxihuanbohe 2005-12-12
  • 打赏
  • 举报
回复
这个问题我已经解决了 多谢二位建议
woxihuanbohe 2005-12-01
  • 打赏
  • 举报
回复
我现在是在维护一个ftp组件 有一些软件要用
veryhappy 2005-12-01
  • 打赏
  • 举报
回复
本论坛里也有不少FTP的代码,可以参考……
速马 2005-12-01
  • 打赏
  • 举报
回复
.NET 2.0已经内置了对FTP的支持,所以基本上没必要自己研究了
对于.NET 1.1,我写了一个Library,http://www.sunmast.com/soft/FtpClient.zip

(有一些小bug,但你可以看看实现的原理和过程)

110,566

社区成员

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

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

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