- 博客(2)
- 收藏
- 关注
原创 ascent的网络模块简析
ascent 2010的网络模块代码采用了IOCP,代码量很小。带着以下问题溜了一遍:1.IOCP的乱序问题如果同时对一个socket投递多个recv或者send请求,那么应用层会将TCP辛辛苦苦保证的有序给打乱。解决办法很简单,串行投递。这对于服务器程序来说是可行的,毕竟它管理的是成百上千个sockets,每个2请求,那IOCP要处理的也很多了。ascent也是这么做的(从socket类只含有两个overlap对象一眼看出)。但不是强制:发生了重复投递,它只是写了一条错误日志。2. send操作能否避开锁
2011-04-22 19:12:00 715
原创 程序调试总结 04-18
<br />1.现象:程序中调用DLL中的某个函数f,但是断点跟踪,却调用了函数g而不是f<br />经调试,在call eax这条汇编语句中,查出函数地址就是g的地址;而f和g的地址只差4个字节;<br />于是检查DLL头文件,找出了原因:dll和h文件不匹配<br /> <br />2.现象:某个对象内有一个map成员,后来在某个地方遍历该map时抛出了异常。<br /> 经调试,发现该map已经被损坏,内部的头指针为0;<br /> 于是在该对象的map成员前后各加了一个char变量,再调试,当然
2011-04-19 09:33:00 483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人