社区
网络编程
帖子详情
ftp客户端的Control socket突然不能接收到OnReceiv(..)事件通知?????
kaxiou
2003-10-19 01:17:48
刚开始的时候Control socket可以接收到,到了后来却突然不能接收到。
我用sniffer抓包却发现服务器是返回了消息的,只是我的客户端收不到OnReceiv(..)事件通知而已。在接收不到事件通知后,socket还是有效,可以发命令给服务器
并且成功。
后来我试着在发送命令之间Sleep(100),发现接收不到事件通知的机率大大减少。
实在是搞不懂。各位大侠帮帮啊。谢谢先
...全文
61
6
打赏
收藏
ftp客户端的Control socket突然不能接收到OnReceiv(..)事件通知?????
刚开始的时候Control socket可以接收到,到了后来却突然不能接收到。 我用sniffer抓包却发现服务器是返回了消息的,只是我的客户端收不到OnReceiv(..)事件通知而已。在接收不到事件通知后,socket还是有效,可以发命令给服务器 并且成功。 后来我试着在发送命令之间Sleep(100),发现接收不到事件通知的机率大大减少。 实在是搞不懂。各位大侠帮帮啊。谢谢先
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CounterHack
2003-10-22
打赏
举报
回复
windows是由事件驱动的,不同与UNIX下的线程。
虽然windows的不同线程不会相互影响,但由于所有的消息最初是发到windows内核的总消息队列中的,所以一个线程的消息太多导致线程阻塞从而导致更多的消息(虽然是本线程的,但内核并不分),最终内核将对部分消息进行丢弃,从而间接影响了另一线程。
就像windows下的某个程序假死了,导致Explorer都反应迟钝。
hoffen
2003-10-22
打赏
举报
回复
一定是界面MESSAGE的问题了,请检查一下PreTranslateMessage()函数
Good Luck
xiaohyy
2003-10-22
打赏
举报
回复
>>如果是界面线程给堵塞住了,但是从网络来的消息应该还在线程的消息队列中吧?即使是
界面线程给堵塞住了,但是当不再堵塞的时候,socket应该还是可以接收到那个网络事件通知吧?
所谓消息循环堵塞,是指大量的消息涌入,导致一些消息丢失。比如很短的一段时间内接受到大量消息(比如mousemove消息),其中一部分消息就会从消息队列中抛弃
kaxiou
2003-10-22
打赏
举报
回复
谢谢两位的提议。我根据两位的意见修改的程序,基本上没有什么问题了。
不过我还有一个不懂的地方想请教两位
fantiyu(fantiyu)说是消息循环堵塞了。
如果是界面线程给堵塞住了,但是从网络来的消息应该还在线程的消息队列中吧?即使是
界面线程给堵塞住了,但是当不再堵塞的时候,socket应该还是可以接收到那个网络事件通知吧?但是socket怎么会接收不到事件通知呢?
还请两位指点一下。谢谢
CounterHack
2003-10-20
打赏
举报
回复
OnReceive()的接收缓冲区设定太小了,导致每次接收数据都有剩余部分在缓冲区中。
修改OnReceive()函数:
int const INT_MAX_LEN = 100;
char buf[INT_MAX_LEN];
while((int nCount = Recv(buf, INT_MAX_LEN)) > 0)
{
//处理缓冲区数据。
... ...
}
如果对内存要求不高,可以设定INT_MAX_LEN > 2000,一般也可消除问题。
fantiyu
2003-10-19
打赏
举报
回复
消息循环堵塞了
检查你的消息循环,界面线程做了什么阻塞型的动作?
FTP
文件传输服务
Re:
FTP
文件传输服务==========================
FTP
服务不论在企业或教学中,是最常用的文件共享方式,它既可以做到匿名访问,也可以做到用户名和密码访问,更可以做到只能提交但
不能
够访问的特殊要求等等功能,本课程将一一详细演示。
FTP
服务器的一般应用场景在:企事业单位中,统一存放资料(包括技术、文件等等):克服个人存放不安全;跨系统存放资料:服务器端Linux,但是
客户端
可以Linux或Windows;为企业单位提供资料共享(例如学校来讲:教学资料,提供镜像等等功能);企业内部提供
FTP
的yum源(创建:yum仓库)等等 在提供
FTP
服务中有个重要概念,就是主动模式和被动模式,如果没有碰到问题,我们将不会去理会它,例如:碰到了之前可以用,现在
不能
用了,或者这个
客户端
可以用,那个
客户端
不能
够用,那么就是这里出现了问题。 本课程通过图文并茂的方式,详细的阐述了主动和被动与防火墙的配合关系,是我们在处理
FTP
服务故障的主要思路,相信学员们通过细致缜密的学习,一定有所收获。
使用
Socket
通信实现
FTP
客户端
程序【很详细】
FTP
客户端
如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的
Socket
来实现。
FTP
客户端
与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通道。前者用于
客户端
向服务器发送命令,如登录,删除某个文件,后者用于
接收
数据,例如下载或上传文件等。本文详细阐述如何调用系统接口发送
FTP
命令实现文件上传下载等
FTP
客户端
功能,让读者对
FTP
...
什么是
FTP
?
FTP
端口号是多少?
FTP
的端口号能改吗?
ftp
的端口号20、21有何区别?
ftp
命令?...
什么是
FTP
?
FTP
就是文件传输协议 File Transfer Protocol 的缩写.
FTP
端口号是多少?21
FTP
的端口号能改吗?能
ftp
的端口号20、21有何区别?一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和
FTP
的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和
客户端
协商而定
FTP
Port模式和
五个最佳
FTP
客户端
工具
原文链接:http://www.williamlong.info/archives/1594.html概述无论你是做网站工作,还是运行一个家庭
FTP
服务器,或者你只是喜欢高速下载,一个稳定且功能齐全的
FTP
客户端
工具都可以节省你大量时间和生命,现在有大量的免费或者收费的
FTP
客户端
软件供大家选择,这里总结了五个流行的
FTP
客户端
软件。FileZilla (所有平台) FileZilla File
解决
ftp
客户端
建立数据
socket
失败问题
前面提到了怎么用linux
ftp
客户端
连接serv-u。 现在碰到了新的问题,用cute
ftp
5.0连接失败,提示”建立数据
socket
失败“。要解决这个问题,参考了这篇:http://www.elecfans.com/tongxin/computer/2009080483016.html
FTP
连接/创建失败“建立数据
socket
失败” 如果你的使用
FTP
上传
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章