gh0st3.6 页游服务端端出现错误

这两处的错误都是一样的,都是同一种参数类型不匹配。定位信息:

可以看出他们所对应的函数分别是OnPagerScroll和OnPagerCalcSize。直接在上面按F12(右键–跳转到定义处)就跳转到函数定义出了。

接着修改头文件中申明的参数类型

首先还是修改字符集为ANSI,默然不为WChar_t。这步是编译Gh0st每一个项目都需要做的,以后的操作中不再提起,请注意。如果提示A函数和W函数重定义,参数冲突等,都是这个问题,改下项目属性就能解决了。

这个直接编译就能过了。用VS2010编译函数很多安全函数的警告,这个不用管他,想修改也是可以的。还有一个_WIN32_WINNT宏未定义的警告,如非必要,我就不加上去了,尽量的保持和原版的相同。要加的话,直接加在每个项目的StdAfx.h里面。格式:#define _WIN32_WINNT 0×0500  这里的参数含义可以参看MSDN,后面有一处修改必须加,也会再次提到。

原版红狼远控源码,VC6.0+SDK环境下编译通过。编译前请参考 使用必读.txt 自己去除gh0st.cpp中硬盘锁代码。否则后果自负。

测试发现有时客户端会发送重复数据包,感觉作者的IOCP发送处理逻辑不是太清晰,简单修改了下,初步测试没发现异常

话说我很想不通使用了TCP通信的Gh0st里面居然还有处理重发的代码,真是蛋疼啊,懒得删了,万一有个大坑呢?

另外里面频繁的new delete看得我也很不爽啊,不过我忍住了,能不动就不动

 
 
 
 // 如果当前缓冲区无数据堆积,执行PostSend
 // 发送完后,再备份数据, 因为有可能是m_ResendWriteBuffer本身在发送,所以不直接写入
 
 
 
 
 
 
 
 

参考资料

 

随机推荐