樽中酒不空
发布时间:2012-12-17 09:39:42
gloox缺省的登录方式是使用SaslMechDigestMd5 (DIGEST-MD5),但这样登录域名可以,登录IP提示auth失败。看了一下其他的xmpp库,在auth失败后,会自动切换到SaslMechPlain(PLAIN)再登录一次,而gloox没有做这个机制。所以在登录失败之后,再手动增加上SaslMechPlain登录机制就可以了。或者,直接使用SaslMechPlain登录,也就是调用setForceNonSasl(),不过官方文档不推荐。总结:实际上正式使用的时候,登录的IM服务器都是在域名方式提供的,不存在这个问题。在测试开发的环境下,安装好openfire的时候,习惯上......【阅读全文】
发布时间:2012-12-14 14:05:54
1 MyJingle底层用到了libjingle。这里只涉及其中的文字部分。语音视频和文件,基本不可能用xmpp来传。2 MyJingle缺省是登录gmail,稍改一下就可以登录openfire: talk/xmpp/saslplainmechanism.h credential.Append(user_jid_.Str());修改为credential.Append(user_jid_.node());3 修改后,可以使用域名登录openfire,但一般在本地机器上安装openfire之后,习惯都是以IP登录。MyJingle使用IP登录会返回bind失败的......【阅读全文】
发布时间:2012-12-13 14:52:46
使用vc2008调用gloox测试example,发现有内存泄露。跟踪发现出在Client里面:void Client::init() { m_rosterManager = new RosterManager( this ); m_disco->setIdentity( "client", "bot" ); registerStanzaExtension( new ResourceBind( 0 ) ); registerStanzaExtension( new Capa......【阅读全文】
发布时间:2012-12-13 13:02:47
1 编译环境是vc20082 编译时如果提示找不到某个.cpp,在工程-->解决方案里去掉该文件。3 release编译问题:在项目常规里,这里原来是.exe,改成.dll。4 release编译后如果找不到.lib,说明没有dllexport,简单的办法就是在macros.h前面位置加上#define GLOOX_EXPORTS原因在以后几行:#if defined( _WIN32 ) && !defined( __SYMBIAN32__ )# if defined( GLOOX_EXPORTS ) || defined( DLL_EXPORT )# &nb......【阅读全文】