|
楼主 |
发表于 2013-6-21 12:02:12
|
显示全部楼层
若在AnyChat之外已经进行了一次用户身份验证,只是希望用AnyChat实现流媒体通信服务,而且不希望在业务服务器(BusinessServer.exe)上设计得太复杂,不希望连接数据库,则可以通过如下的方式巧妙的回避AnyChat的登录流程,而且还可保持userid与第三方平台一致。
如果在第三方平台上用户身份验证之后,获得的userid为108,则可以将userid转换为字符串“108”进行AnyChat平台登录,密码可以用任意字符串代替,不为空即可,如:BRAC_Login("108", "demo", 0);
在业务服务器的【OnVerifyUser】回调函数中将username字符串转换为整型值,传给userid,同时返回0即可。- // 用户身份验证回调函数定义
- DWORD CALLBACK VerifyUserCallBack(LPCTSTR lpUserName,LPCTSTR lpPassword, LPDWORD lpUserID, LPDWORD lpUserLevel, LPTSTR lpNickName,DWORD dwNCLen, LPVOID lpUserValue)
- {
- *lpUserID = atoi(lpUserName);
- return 0;
- }
复制代码 这样在客户端的登录消息【OnLoginSystem(userid=108, errorcode=0)】就是第三方平台的userid了。 |
|