netease-kit / NIM_PC_Demo

云信Windows(PC) C/C++ Demo源码仓库
Other
275 stars 174 forks source link

∠( ᐛ 」∠)_不小心把issue关掉了再开一个,依然是关于怎么修改demo为可以登录自己的应用服务器。 #81

Closed haiwunsiang closed 2 years ago

haiwunsiang commented 2 years ago

由于自己对C++语言不了解,凭着一点逻辑思维LV_APP的提示,摸索到登录和注册时应该去掉的md5加密函数getmd5(),找到了修改APPkey和Apphost的地方,后续注册账号和请求聊天室的api也找到了,后续给大家补图。

现在该有一个地方不懂,我抓包分析demo客户端向appserver post用户名和密码的 是通过tcp链接到一个ip地址查询的,分析似乎并不demo是apphost的地址。

抓包分析其他人安卓端集成的云信sdk登录appserver是post数据到api地址获取token再登录聊天server的。

斗胆向大佬们请教,需要如何修改pc版demo哪一部分的代码才能实现类似上边的过程。 (设想是直接notepad++找登录取token的ip地址替换为自己服务器的网址,但在安卓和PC demo中并没有找到。)

ε(○´∀`)зε(´∀`●)з牵手手 只差一点点了就能成型啦,后续为大家补上一篇详细的小白教程,做人人都会用的网易云信。

haiwunsiang commented 2 years ago

列出目前不知道在做什么的几行代码 //完全没看懂 auto cb = std::bind(OnLoginCallback, std::placeholders::_1, nullptr); //似乎在格式化账户密码,没有其他操作 InvokeFormatAccountAndPassword函数 //不知道在判断什么 if (nbase::FrameworkThread::GetManagedThreadId() != ThreadId::kThreadUI) //怀疑是post账户秘密的函数 Post2UI([=](){dologin_task(do_login, formated_user, formated_pass); });

haiwunsiang commented 2 years ago

Σ( ̄ロ ̄lll)对了下c++指针和bind基础,好像本demo没有从应用服务器获取token啊,是密码md5加密后直接作为token吗,抓包第一个链接是tcp链接到应用服务器的嘛( ̄ε(# ̄)~莫不是天大的误会。

haiwunsiang commented 2 years ago

实验成功率,果然和我猜想的一样md5加密后的token直接作为token

误导大家了抱歉

haiwunsiang commented 2 years ago

使用demo登录自己服务器的方法很简单 替换appkey 去掉password的md5加密函数 编译后登录矿框直接输入accid和token即可完成登录 post后获取的方法要自己写。