再问:FTP连接问题

dongshanyu 2006-08-25 03:27:33
连接一个FTP服务器TSERVER,使用Active模式
在使用PORT指令后,系统提示"PORT command successful".
然后我建立socket,并连接FTP服务器,但此时显示错误提示:
"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。"

下面是我的代码
====================================
Dim strT As String
strT = "192,168,42,27,19,70"

'192.168.42.27:是本地IP地址
'19,70:是自己随意设定的

sendCommand("PORT " & strT)

Dim ipAddress As String = Me.strServer
Dim port As Int32 = 19 * 256 + 70

Dim socket As Socket = Nothing
Dim ep As IPEndPoint = Nothing

socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
ep = New IPEndPoint(Dns.Resolve(ipAddress).AddressList(0), port)
socket.Connect(ep)
====================================

大家帮忙看看有什么问题?或有什么建议?

PS.使用PASV可以连接某些服务器,但连接TSERVER不行。
...全文
588 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongshanyu 2006-08-31
  • 打赏
  • 举报
回复
to heng_s

谢谢提点 :),我是这样使用帧听的,这里帖的代码,格式会很乱,麻烦看一下下面这个页面:
http://blog.donews.com/Shan/archive/2006/08/31/1025109.aspx

系统反馈信息:
================
PORT 192,168,42,27,14,3
200 PORT command successful.
LIST
150 Opening ASCII mode data connection for directory listing.
226 Transfer complete
================
跟踪调试,发现LIST命令,没有获得服务器文件列表

且之后,执行代码:
l_iRetval = cSocket.Receive(receiveBuffer)
系统不能继续下去,不知道问题在哪,heng_s,帮忙看看,谢谢了

fds2003 2006-08-31
  • 打赏
  • 举报
回复
问题解决了?
dongshanyu 2006-08-31
  • 打赏
  • 举报
回复
收到,我先看看,谢谢!
oo渣渣oo 2006-08-31
  • 打赏
  • 举报
回复
已经发了,请收邮件
dongshanyu 2006-08-31
  • 打赏
  • 举报
回复
to heng_s(渣渣)
ydsfm@yahoo.com.cn 谢谢了 :-)
oo渣渣oo 2006-08-31
  • 打赏
  • 举报
回复
而且PORT模式有个很BT的麻烦问题,就是不能在短时间内使用同一端口进行两次以上的侦听.不然第一次以后的连接都无法正确建立.

你看很多PASV模式的FTP Server都是不停的在更新侦听的端口号.我也是用的这种方式解决的.

不知道还有没有高手遇到过?大家是怎么解决的?
oo渣渣oo 2006-08-31
  • 打赏
  • 举报
回复
你在createDataSocket里面定义了objSocket来侦听,怎么后面又定义一个变量去连接了?

那你AcceptSocket远端连接请求的代码在哪里?

算了,给个邮箱.我把我做的发给你慢慢看
oo渣渣oo 2006-08-30
  • 打赏
  • 举报
回复
因为我刚刚才做完一个FTP的Client类.
oo渣渣oo 2006-08-30
  • 打赏
  • 举报
回复
是滴,我肯定!
dongshanyu 2006-08-28
  • 打赏
  • 举报
回复
大家帮忙顶啊 :)
dongshanyu 2006-08-28
  • 打赏
  • 举报
回复
> PORT模式应该是你建立侦听,对方服务器来连接你吧?

PORT模式下,Client需要建立帧听?
不知道,查过不少资料,都没提到过这一点,连Active模式,指令的使用谈的也很少。
oo渣渣oo 2006-08-28
  • 打赏
  • 举报
回复
PORT模式应该是你建立侦听,对方服务器来连接你吧?

PASV模式才是对方服务器建立侦听,你用Socket去连接对方.
dongshanyu 2006-08-28
  • 打赏
  • 举报
回复
to 看看发送的指令烈表是什么

连接FTP服务器的显示,其它FTP软件详细的执行情况,如下

AbsoultFTP 2.2.10
==================================
...
> TYPE A
< 200 Type set to A.
> PORT 192,168,42,27,9,0
< 200 PORT command successful.
> LIST
i Data connection C55918 accepted.
< 150 Opening ASCII mode data connection for directory listing.
< total 1136
...
==================================


CuteFTP 7.1
==================================
...
COMMAND:>TYPE A
200 Type set to A.
COMMAND:>REST 0
350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer.
COMMAND:>PORT 192,168,42,27,9,164
200 PORT command successful.
COMMAND:>LIST
150 Opening ASCII mode data connection for directory listing.
226 Transfer complete.
...
==================================

iland9876543210 2006-08-26
  • 打赏
  • 举报
回复
ding
dongshanyu 2006-08-25
  • 打赏
  • 举报
回复
从其指令列表中不能获得什么信息,除了知道使用了PORT指令外,其使用的端口在我代码中使用了,但无效。
dongshanyu 2006-08-25
  • 打赏
  • 举报
回复
to 看看发送的指令烈表是什么
CuteFTP的指令列表:
PORT
LIST
Knight94 2006-08-25
  • 打赏
  • 举报
回复
to 不知道对方端口是否屏蔽了,但我使用了CuteFTP的PORT模式后,我使用其相同的端口号,也不行。
PS.使用过CuteFTP和AbsoultFTP的Active模式测试,均可以连接FTP服务器,使用PASV模式,它们也都不可以连接FTP服务器。

看看发送的指令烈表是什么
wangwei155 2006-08-25
  • 打赏
  • 举报
回复
dongshanyu 2006-08-25
  • 打赏
  • 举报
回复
不知道对方端口是否屏蔽了,但我使用了CuteFTP的PORT模式后,我使用其相同的端口号,也不行。

PS.使用过CuteFTP和AbsoultFTP的Active模式测试,均可以连接FTP服务器,使用PASV模式,它们也都不可以连接FTP服务器。
Knight94 2006-08-25
  • 打赏
  • 举报
回复
参看这篇文章,看看你还有什么漏的
http://www.chinaitpower.com/A200508/2005-08-02/182012.html
加载更多回复(1)
内容概要:本文介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度模型,综合考虑风能、光伏、储能系统、柴油发电机、燃气轮机以及与主电网之间的能量交互等多种分布式能源的协同运行。通过构建以运行成本最小化、碳排放最低化和系统可靠性最优化为目标的多目标优化模型,利用Matlab平台实现MOPSO算法求解,完成对微电网在不同运行场景下的能量管理与调度方案优化。该模型能够有效平衡经济性与环保性之间的关系,适用于含多类型分布式电源的复杂微电网系统,具有较强的工程应用价值和科研参考意义; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事微电网、智能电网、综合能源系统、可再生能源集成与优化调度等领域研究的专业人士; 使用场景及目标:①用于多能源耦合微电网系统的协同优化调度研究;②支持多目标智能优化算法在能源系统中的建模与求解实践,帮助用户掌握MOPSO在实际工程中的应用方法;③为学术论文复现、毕业设计、科研项目开发提供完整的代码实例与技术支撑; 阅读建议:建议读者结合Matlab代码与理论文档,深入理解目标函数构建、约束条件处理及Pareto最优解集生成机制,重点关注算法参数设置、多目标权衡分析与结果可视化,并可通过调整能源配置或引入新约束进行二次开发与创新研究。

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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