社区
网络编程
帖子详情
FTP Port模式使用的问题
chzhk007
2009-04-29 11:46:58
FTP 客户端使用Port命令建立TCP数据连接后,我想重用现有的socket和port,继续接受数据,但是只有第一次成功,后面的总失败,不知道是何原因,难道每次接受数据完毕后服务器会关闭数据连接吗?
...全文
487
10
打赏
收藏
FTP Port模式使用的问题
FTP 客户端使用Port命令建立TCP数据连接后,我想重用现有的socket和port,继续接受数据,但是只有第一次成功,后面的总失败,不知道是何原因,难道每次接受数据完毕后服务器会关闭数据连接吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
udknight
2009-06-18
打赏
举报
回复
被port模式折腾了很久,最后改pasv模式了。
liu_yi_shanghai
2009-06-18
打赏
举报
回复
我也正在写FTP主动模式。我发现不同的服务器处理不一样。
Serv-U的服务器PORT命令发一回就可以了。
IIS的服务器每回收了数据后就必须重新发PORT。
具体为什么不是很清楚。
linyu1247
2009-06-11
打赏
举报
回复
[Quote=引用 7 楼 lovejklife 的回复:]
主动模式没用过
我的理解
每个数据连接都需要ACCEPT的,不可以在同一端口上建立多个数据连接,必须close再accept,要同时建立多个数据连接要Create多个Socket
Send Port command->Send "List" command
Create Listen Socket->bind port->Listen->Accept->Receive->close->
| |
--------- <---…
[/Quote]
port模式的话 ftp服务器端不多是用20端口来进行数据连接吗?那不就是一个端口建立了多个数据连接,我查看服务器端口看到很多的20端口处于wait状态,过一段时间就被回收了。建议您多了解一下ftp的pasv和port模式的工作原理。
lovejklife
2009-05-09
打赏
举报
回复
主动模式没用过
我的理解
每个数据连接都需要ACCEPT的,不可以在同一端口上建立多个数据连接,必须close再accept,要同时建立多个数据连接要Create多个Socket
Send Port command->Send "List" command
Create Listen Socket->bind port->Listen->Accept->Receive->close->
| |
---------<----------
chzhk007
2009-04-29
打赏
举报
回复
我有个实际的应用项目,就是先拿FTP server的文件/目录列表。
然后针对每个子目录,拿它的文件列表。
所以数据连接肯定不是只用一次。
第一次是这么用的:
Create Listen Socket->Listen->Send Port command->Send "List" command->Accept->Receive
数据接收完毕后,我想继续发送"List 目录"命令去拿子目录下的文件列表,重用已经建立好的socket 和port,接收数据。可是接收的都是0字节的。
另外, 如果每次都是重新建立socket,象下面的那样,到是没问题,
Create Listen Socket->Listen->Send Port command->Send "List" command->Accept->Receive
但这样做并不是一个很好的解决方案。
因为如果子目录有上万个,那得重新建立上万个的新的socket和port,这种做法肯定是比较愚蠢的。
yearn520
2009-04-29
打赏
举报
回复
你所说的一次是什么意思?代码
biweilun
2009-04-29
打赏
举报
回复
我这边有个源代码给你参考下看看:http://www.brsbox.com/filebox/down/fc/3b9ac7f3f3fc71c6282e376864d46ae7
wutaihua
2009-04-29
打赏
举报
回复
这个问题可能比较复杂,我当时为了写一个服务器,用了我2个星期还多。后面就是调试。我的经验就是你竟然是写的客户端,可以找个开源的服务器端来比较,调试。这样,比你这样整要好一些。对照着来。我当时也是这么搞的。
wutaihua
2009-04-29
打赏
举报
回复
连接是重新建立和收回的,你可以做一个socket的管理机制,不用了,就收回port啊。而且你看看客户端和服务器端的连接,并不是有一万个目录,就直接传10000个吧。而是分开发送的。
实用代码脚本易语言源码图片组操作类
实用代码脚本易语言源码图片组操作类
升级版本基于多目标粒子群算法的微电网优化调度【风光、储能、柴油、燃气、电网交互】(Matlab代码实现)
内容概要:本文介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度模型,综合考虑风能、光伏、储能系统、柴油发电机、燃气轮机以及与主电网之间的能量交互等多种分布式能源的协同运行。通过构建以运行成本最小化、碳排放最低化和系统可靠性最优化为目标的多目标优化模型,利用Matlab平台实现MOPSO算法求解,完成对微电网在不同运行场景下的能量管理与调度方案优化。该模型能够有效平衡经济性与环保性之间的关系,适用于含多类型分布式电源的复杂微电网系统,具有较强的工程应用价值和科研参考意义; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事微电网、智能电网、综合能源系统、可再生能源集成与优化调度等领域研究的专业人士;
使用
场景及目标:①用于多能源耦合微电网系统的协同优化调度研究;②支持多目标智能优化算法在能源系统中的建模与求解实践,帮助用户掌握MOPSO在实际工程
问题
中的应用方法;③为学术论文复现、毕业设计、科研项目开发提供完整的代码实例与技术支撑; 阅读建议:建议读者结合Matlab代码与理论文档,深入理解目标函数构建、约束条件处理及Pareto最优解集生成机制,重点关注算法参数设置、多目标权衡分析与结果可视化,并可通过调整能源配置或引入新约束进行二次开发与创新研究。
东北大学 人文选修 文物精品与中华文明 知识点整理(选择+填空)
东北大学 人文选修 文物精品与中华文明 知识点整理(选择+填空)
政府科技管理者如何利用科创数智大脑实现产业政策精准匹配?.docx
政府科技管理者如何利用科创数智大脑实现产业政策精准匹配?
作者用博文里的代码代码做出来的图
作者用博文里的代码代码做出来的图
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章