请教FTP服务器同时打开多个端口通信的问题?

roeast 2011-01-25 06:20:22
大家好,我最近需要编写一个基于ACE的FTP服务器,目前可以和多客户端进行消息和数据传输,但问题是使用ACE_SOCK_Acceptor.open最多只能同时打开160个端口,要打开新端口只能释放旧端口。

我使用的方法是接收到客户端发送的“PASV”命令时,新建一个线程,在线程中打开一个端口,并将端口值发送给客户端。经测试,同时最多只能打开160个端口,而用相同方法测试filezilla可以打开1000个以上的端口。这是为什么?是ACE默认只能最多同时打开160个端口吗?是不是ACE进程资源有限制?

请问怎么能解决这个问题?可以通过什么方法设置ACE默认的同时打开端口最大数吗?或者有什么别的方法也可以,欢迎大家提出意见和建议!
...全文
375 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chehongyang 2012-06-18
  • 打赏
  • 举报
回复
请问楼主这个问题解决了么?
dengsf 2011-01-26
  • 打赏
  • 举报
回复
检查错误码看具体是什么错?

一个线程一个acceptor,160个。。。也有可能线程数超出了系统限制。
roeast 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xgia7 的回复:]
http://download.csdn.net/source/1517841这里有个资源,看能否帮到你
[/Quote]

多谢帮助,这个资源我下载过,里面使用ACE写的,但这个FTP只适用于单客户端,没有多客户端的代码
roeast 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dengsf 的回复:]
监听端口号保证没重复?
[/Quote]

端口号我用了一个全局变量,每次+1,不会重复,我还专门打印出来端口号看了
dengsf 2011-01-26
  • 打赏
  • 举报
回复
监听端口号保证没重复?
xgia7 2011-01-26
  • 打赏
  • 举报
回复
http://download.csdn.net/source/1517841这里有个资源,看能否帮到你
roeast 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dengsf 的回复:]
检查错误码看具体是什么错?

一个线程一个acceptor,160个。。。也有可能线程数超出了系统限制。
[/Quote]

线程数没有超出系统限制,再新建连接时可以新建线程,只是这个线程打不开新的端口。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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