广告
去除quickSDK和网关
原始的游戏源码中通过quickSDK进行登录验证的,如果你不喜欢接第三方的,可以删除quickSDK。
游戏里登录和注册,角色相关接口是先要通过游戏网关的验证,游戏网关的源码是go的,看着有点烦,所以我把游戏网关也去掉了,客户端直接和我们的登录网关进行交互。
这个改起来比较简单,在源码中游戏网关的类是GatewayAgent将这个类删除,再将用到这个类的地方都改成ODClient即可。
比如登录的请求方法:
void SendLogin(string account, string password) { TDefaultMessage tdm = ODClient::GetInstance()->MakeDefaultMsg(CM_IDPASSWORD, 0, 0, 0, 0, 0); string gatePassword = ODClient::GetInstance()->EncodeString((char *)LOGIN_KEY); //网关密码 string msg = ODClient::GetInstance()->EncodeMessage(tdm); string tmpStr = account + "/" + password; string data = ODClient::GetInstance()->EncodeString((char*)tmpStr.c_str()); //char sendMsg[512] = ""; //sprintf(sendMsg, "%s%s%s", gatePassword.c_str(), msg.c_str(), data.c_str()); string sendMsg = gatePassword + msg + data; SendSocket(sendMsg); log("%s","SendLogin!"); }
void SendSocket(string sendstr) { { string sendMsg = "#"; sendMsg = sendMsg + Itoa(code) + sendstr + "!"; ODClient::GetInstance()->send(sendMsg.c_str()); code++; if (code >= 10) code = 1; } }
接口中涉及要修改的主要类:
FrmMain.cpp
SendProtocol.cpp
主要都在这2个文件里,还有其他的几个小地方的修改,按照编译报出的错误修改即可。socket目录下只保留这几个类即可。
这个其实并不难,自己动手吧。
文章转载自YmBok 作者:还如一梦中
多谢楼主分享