随笔分类 - 惨痛教训
摘要:以下环境win7下(不确定linux下是否会出现 - ps.记得linux可配置发起连接的端口起始范围)最近在写新的服务器框架,发现一个比较奇怪的情况: A连接要连B(B在本机,端口为7690),然后B从来就没开,过了一段时间(有可能几分钟,有可能几小时),竟然连接上了。 更奇怪的是,他竟然收到回馈
阅读全文
摘要:事由: 好几年前写的一个网络库,在win和linux下一直正常,自打半年多前移植到macosx后,存在诡异问题,recv时偶尔返回错误码3。。。 就没管。 最近打算把一些c库整合为u3d插件,打算解决此问题,折腾了大半天,最后发现是一个低级错误。示例如下: 本质上来讲,todo:处的代码可能会调用系
阅读全文
摘要:表象:同一个服务器程序,在win7下,线程数量就很多,但是放到xp下,正常。下断点调试,发现当进入创建socket的socket函数时,触发创建了若干线程,但是记得不应该啊。socket相关的函数,只有connect函数会触发创建一个线程,其他的没有这种情况。初步断定是win7的差异。接着不甘心,下
阅读全文
摘要:需求(CG复杂剧情): 对指定面板(面板继承自CCLayer)设置指定的效果,例如:淡入淡出、闪烁等 此时对于淡入淡出,需要递归遍历面板的子对象,并当其子对象为CCRGBAProtocol的子类时,增加动作。需求中,某些情况图片无纹理,此时。。。结果是这样的: 若无效果,则看起来是正常的。当淡入淡出
阅读全文
摘要:原代码移到新框架中,结果运行时内存错误,此类为三层继承,写的极其复杂,捣鼓了半天,还是没找出问题所在,怀疑过多线程、怀疑过内存越界,都一一验证排除。最后想起来当时比过原代码的vs工程和自己的框架的vs工程的差异,貌似当时看到过vs选项中的4字节对齐,而我的vs工程是默认设置,尝试着设置为4字节对齐,
阅读全文
摘要:网络库中把iocp当做epoll来用,发送、接收都投递0字节。(实际的投递写事件,是投递的1字节数据; 投递0字节会立即返回,根本没检测是否可写)最近压测时,发现大量连接下,若连接频繁断开,有些标记值会错误,这几天着手解决这个问题, 很诡异, 特记录。假设A、B为iocp的工作线程。C为逻辑线程。若
阅读全文
摘要:程序都是linux下,客户端连接服务器。服务器解包时偶尔出现消息包长度错误,用另一个功能类似的客户端替换这个客户端就好好地!(同一个网络库)从各个方面查找,buffer数据管理、多线程交互安全等等,结果最后的结论令人无语,在客户端,一句printf(...)把数据输出到socket中了,而此sock
阅读全文
摘要:代码从win移到linux下,修改了某些文件,结果。。。杯具了表现如下:某些变量/类的值时而正确,时而是一个错的值,而且此错的值会固定!。也就是说一直是此错值。内存断点无效。后来才发现是修改过程中导致#pragma pack(push,1)不配对,然后出现此诡异情况。 特记录。begin:#prag
阅读全文

浙公网安备 33010602011771号