`
kofsky
  • 浏览: 201744 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

被两个变态问题整的焦头烂额

阅读更多

文件传输

    程序运行的流程为:其他进程将创建文件传输任务的信息写入文件,FTP程序读取文件,解析,然后创建任务,开启线程完成FTP工作。我老人家每次测试的时候,同时发送个三五个文件,并行跑十来个任务,跑几个钟头,要是没出问题,OK,心满意足,工作圆满结束。把FTP交付给老板后,今天跟我有个bug,说同时发送几百个文件的时候,程序就会出现内存错误。听到后马上心里感觉有些不踏实,因为没有测试过。太TM极端了,谁会同时传几百个文件嘛!

    自己测试了一下,果然有问题,而且问题很严重。严重的原因在于,无法预测发生错误的条件。随机发生的。测试了一个上午,感觉有点点小规律:

1. 连接服务器失败次数过多时,才会发生错误;连接失败次数非常多时,肯定会发生错误;倘若没有发生连接失败问题,几乎不会发生错误(俺没捕获到);

2. 连接失败次数在200次左右时,是发生错误的高峰期;但也在此之外的,在100以内也发生过,还有几次测试到1500次以上时才发生错误

3. 排除原因:界面资源冲突;文件资源冲突;

肯定与连接失败相关。

猜测可能的原因:

1.数量问题:线程数量,或者建立socket数量过多,导致系统资源不够(连接失败,资源没释放?)
2.资源冲突:线程数量很多时,才会发生这种冲突(?)

太TM抽象了,这问题

可能,很可能,就是某个小细节,没注意到

 

数据通讯

把xmlrpc++库改的是乱七八糟了。

现在,期望让它完成如下功能:

1.对外开放扩展接口:感知客户连接开启/断开,可以捕获网络的原始HTTP数据包,可以捕获处理后的数据,也可以发送自己构造的HTTP数据包;

2.两端同时支持RPC;

3.既可以双端监听,也可以单端监听(服务器端监听或者客户端监听);可以自由设定;

4.信息异步发送

5.服务器端底层实现消息群发

昨天把消息群发的解决了,想,今天做一下针对指定客户发送数据。本以为是个超简单的东西,加个查找功能,然后针对指定缓冲区发个数据,就OK了。结果,遇到一个变态的问题,就是,当对指定客户发送数据后,整个程序居然悄无声息的死了!靠!不报错,啥问题都没有,整个程序窗口就消失了!shit!群发都可以,发单个就不行了?!靠!还真有点离谱!

一层一层发掘下去,发现在数据写入用户缓冲区之后,写入socket缓冲区之前挂掉的,也就是说,很有可能在监听文件描述符读写的时候出错了,导致整个程序退出,也就是select过程中出了问题。但是,具体啥问题,也还不确定,后天再去看看。TNND,老子还不相信搞不定你!

分享到:
评论

相关推荐

    Myeclipse10脚本和文件

    压缩包内有两个文档 相应的将patch文档内所有文件复制然后覆盖你的Myeclipse安装路径Myeclipse10\Uninstaller\plugins内 然后运行myeclipse2017_keygen文件夹内的cracker2017.jar这个脚本教程很多 就不赘述了 亲测...

    解决局域网共享原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。

    解决局域网共享问题, 原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是...

    解决局域网共享 原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    小学成语分类复习PPT教案.pptx

    4. 【ABCC】这类成语的结构是前两个字不同,后两个字相同,如"神采奕奕"、"小心翼翼",多用于描绘人物的神情、态度或气氛。 5. 【AABC】这类成语的特点是前两个字相同,后两个字不同,如"欣欣向荣"、"斤斤计较",常...

    二年级词语积累.doc

    2. AABC式成语:这类成语前两个字相同,后两个字不同,如“头头是道”形容说话有条理,“栩栩如生”形容艺术作品生动逼真。通过这类成语,孩子可以学习到如何用词准确、形象地表达意思。 3. ABCC式成语:特点是前两...

    小学成语分类复习PPT课件.pptx

    7. **【AABB】**:这种结构的成语前两个字相同,后两个字也相同,如“山山水水”、“高高兴兴”,常用来强调事物的重复或状态的统一。 8. **【比喻构词】**:这些成语通过比喻手法,将抽象的概念与具体的事物相联系...

    解决局域网共享问题

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网...

    小学成语分类复习.ppt

    4. **【ABCC】**:这类成语以两个字开头,后面跟上两个相同的字,如“神采奕奕”形容精神饱满,“小心翼翼”表示谨慎小心,“忧心忡忡”表示焦虑不安。 5. **【AABC】**:这类成语第一个和第三个字相同,中间夹一个...

    解决局域网共享问题啊

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    【二年级语文】二年级词语积累(AABB之类),给孩子收藏!.doc

    2. AABC式词语:前两个字相同,后两个字不同,如“有条有理”形容做事有秩序;“津津乐道”表示饶有兴趣地谈论。这种词语往往富有韵律感,增强语言的表现力。 3. ABCC式词语:前两个字不同,后两个字相同,如...

    测维解决局域网共享问题

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    内网中解决一些共享问题,比如打印

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    解决局域网不能共享的问题

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    解决局域网共享批处理文件

    原系统的局域网设置条目很多,对此不太熟悉的用户,可能搞得焦头烂额也未能搞定局域网互访。本系统特意编写了批处理,可以轻易地打开(或关闭)局域网互访。 本系统刚装好的时候,安全性是比较高的,单机拨号上网的...

    starcwang-canal_mysql_elasticsearch_sync-master.zip

    很多人上手ES的时候,对GC一点概念都没有就去网上抄各种JVM“优化”参数,却仍然被heap不够用,内存溢出这样的问题搞得焦头烂额。即使对于JVM GC机制不够熟悉,头脑里还是需要有这么一个基本概念: 应用层面生成大量...

    zxporz-ESClientRHL-es7.zip

    很多人上手ES的时候,对GC一点概念都没有就去网上抄各种JVM“优化”参数,却仍然被heap不够用,内存溢出这样的问题搞得焦头烂额。即使对于JVM GC机制不够熟悉,头脑里还是需要有这么一个基本概念: 应用层面生成大量...

    unity FlexReader WebGL LocalExcel

    最后,就在我焦头烂额的时候,我看到了这篇文章Unity WebGL下读取Excel,这里这位大哥直截了当的用了FlexReader插件,完美的解决了问题(话说我为什么没有第一时间去找插件)。 这里给大家分享一下踩过的坑! 前期...

    Hadoop管理员的十个最佳实践

    接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),...

    孙子中的成语及解释.docx

    2. **车水马龙 vs XX流不息**:这两个成语都可以用来形容繁忙的景象,但“车水马龙”特指车马的繁忙,“XX流不息”则可以用来形容人流或其他物体流动不息的状态。 3. **豁然开朗 vs 茅塞顿开**:前者侧重于心境的...

Global site tag (gtag.js) - Google Analytics