当前位置: 首页 > news >正文

做网站选哪个语言/app推广代理加盟

做网站选哪个语言,app推广代理加盟,做网站备案地点,百度对网站建设公司2019独角兽企业重金招聘Python工程师标准>>> Client 类,实现了一个基本的Jabber客户端,派生自 ClientBase类 详细说明:此类实现了一个基本的Jabber客户端它支持SASL Authentication (SASL验证)以及TLS&…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Client 类,实现了一个基本的Jabber客户端,派生自 ClientBase类

详细说明:
此类实现了一个基本的Jabber客户端
它支持SASL Authentication (SASL验证)以及TLS(加密),都是分别自动切换 "启用或关闭" 状态的。
如果服务器支持,它们就会被自动地启用。

使用方法:创建一个Client类对象,传入连接验证信息(Jid,密码),验证信息在构造时传入或之后Set进去都是可以的。
然后你应该为实现各自的接口注册对应的处理器。
(ConnectionListener,PresenceHandler,MessageHandler,IqHandler,SubscriptionHandler等处理器)
调用connect()连接到服务器。
注意:
   虽然MessageHandler接口仍然有效(在以后的版本中也有效),但是建议在严肃的消息传送上使用新类MessageSession。
简单示例:
 using namespace gloox;

 void TestProg::doIt()
 {
   Client* j = new Client( "user@server/resource", "password" );
   j->registerPresenceHandler( this );                     //可以看出TestProg类,继承了PresenceHandler类或它的派生类
   j->disco()->setVersion( "TestProg", "1.0" );
   j->disco()->setIdentity( "client", "bot" );
   j->connect();
 }


 virtual void TestProg::handlePresence( Stanza *stanza )
 {
   // handle incoming presence packets here
 }

然而,如果你启用了RosterManager,你可以跳过出席处理的步骤。
默认情况,gloox库为了应用程序的考虑,会处理几个IQ名空间里节(从服务器发来),这些包括:
1、jabber:iq:roster  默认情况,服务器端的花名册被取出和处理。利用rosterManager()函数和RosterManager类对Roster进行操作。
2、XEP-0092(软件版本):如果没有明确指定版本号,那么就以字符串“based on gloox”为gloox库的当前版本发布出去。
3、XEP-0030(服务发现):所有被支持或有效的服务被发布。没有任何返回事项。
注意:
    1、gloox 0.9版,默认情况,延承初始出席的优先权,是0.
    2、gloox 0.9版,初始出席被自动发送。即 出席:有效,优选权值:0。欲使初始出度无效,则在连接之前调用setPresence(),并传入
       值为PresenceUnavailable的参数,即可。
SASL Authentication (SASL验证)
另外,相对于简单的基于IQ的验证(XEP-0078),gloox提供几种SASL验证机制。
1、DIGEST-MD5:如果帐号和密码都在Client对象中提供了,这种机制是首选,即使没有TLS加密也是安全的。
2、PLAIN:如果DIGEST-MD5无效,就使用此种机制。在没有TLS加密时是不安全的。
3、ANONYMOUS:此种机制在没有提供帐号和密码时使用。服务器将随机产生临时帐号和资源,提供限制的有效服务。
4、EXTERNAL:此种机制目前只对客户端提供了证书和保密关键字(private key)而有效,服务器试图通过外部计算出客户端。举例来说,使用提供

的证书或IP地址。(在将来将提高证书/关键字有效性的限制)
当然,这些机制都不可靠,除非服务器提供它们。

Client (const std::string &server)
构造一个只能用来注册新帐户的Client对象。SASL 和 TLS 默认下己经开启,通过查找服务记录端口将被限制。
作为替代,你也可以显示调用setPort来指定端口。
参数:server 将要连接到的服务器

Client (const JID &   jid,
 const std::string &   password,
 int     port = -1
 ) 
构造一个Client对象。SASL 和 TLS 己经开启(默认)。此构造函数会被多数客户端当作默认构造函数使用。服务器地址将在提供的JID中得到。
实际主机将通过服务记录确定。JID的域名部分在没有找到服务记录时被用作后备,或者你可以调用setServer()函数另外设置服务器地址。
参数:
     username  JID帐号服务器之前的部分.
     resource  JID的资源.
     password  帐号认证的密码
     server          JID的服务器部分或将要连接到的主机名。如果它们不相同,将使用第二个
     port          将要连接到服务器端口,默认-1,意思是经过DNS服务查找。


void addPresenceExtension ( StanzaExtension * se)
使用此函数你可以添加一个随每个任何出席节一起发送的StanzaExtension类对象(即扩展节)。用例包含以下,签名的出席(GPGSigned,XEP-0027

),VCard是通告的具体实现(VCardUpdate XEP-0153),和其它(参阅StanzaExtension的派生类)
参数:
   se   加入的StanzaExtension 对象。Client对象成为传入的StanzaExtension的宿主。
注意:
   目前没有办法选择地删除一个扩展。调用removePresenceExtensions() 将删除全部的扩展。

void bindResource ( )
在程序调用ConnectionListener::onResourceBindError(),通知你程序绑定资源错误时,你可以调用此函数被将重新试图绑定一个资源。
你也许(或应该)在发生这种事情之前在程序的某个地方调用setResource()函数。

void disableRoster()
此函数使花名册的自动管理无效。之后,如果你想拥有一个花名册,不得不自己追踪每个到达的出席信息。

void disconnect()
断开与服务器的连接

bool login()
初始化一个登录尝试(目前 不支持 SASL扩展)。这对于注册一个新帐号之后比较有用(方便)。

简简单单地调用setUserName()和setPassword()然后调用 login()。

(我的理解,在客户端程序中,注册一个新帐号后,不用退出程序,直接调用login()直接实现登录)。
返回值:
   true  说明登录尝试被成功开启,否则返回false。返回值不能表明登录成功,只是表明登录尝试被成功发起。

void nonSaslLogin() [ protected 成员函数]
初始化 非SASL登录

Presence presence() const
返回当前的出席

int priority()const
返回当前优先权

void removePresenceExtensions()
删除由addPresenceExtension()函数添加的所有扩展

const std::string& resource() const
返回当前己准备的资源

RoserManager* rosterManager()
此函数返回一个指向RosterManager对象的指针。

GLOOX_DEPRECATED void setForceNonSasl(bool force=true)
这是一个暂时强制使用非SASL登录(Non-SASL login )的方法。你不需要使用它
参数:
   force   确定是否强制Non-SASL验证。默认值为true。
反对:请更改服务器适当地支持SASL连接作为代替

void setPresence(Presence              presence,
                 int                   priority = 0,
                 const std::string &   msg=""
)
用来设置实体的出席。如果在建立连接之前调用,那么设定值就会与初始出席一起发送。如果连接建立之后调用,出席会立刻被发送出去。
参数:
   presence   设定的Presence值
   priority   (可选)一个可选的优先值。正当值为: -128<=priority<=127
   msg        (可选)出席状态的描述信息
从0.9 版本支持

void setResource (const std::string& resouce)
设定用于连接到XMPP服务器的资源
参数:
   resource   用来登录进服务器的资源

void setUsername( const std::string& username)
设定用于连接到XMPP服务器的帐号
参数:
   username  用来进行身份验证的用户帐号

const std::string& status()const
返回当前状态信息

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/night_cat/archive/2009/05/31/4226508.aspx

转载于:https://my.oschina.net/limbusnet/blog/11032

http://www.jmfq.cn/news/4941469.html

相关文章:

  • 北京做网站浩森宇特/关键词优化是什么意思
  • 网站速度怎么提升/网络品牌推广
  • 乌海品牌网站建设/电商平台链接怎么弄
  • 可以把网站服务器放在哪里/短链接生成
  • 淘宝官网首页登录注册/搜索网站排名优化
  • 河北网站建设制作/百度联系电话多少
  • 深圳做二维码网站/免费建站系统哪个好用吗
  • 免费注册网站平台/武汉seo首页
  • 正品网购衣服十大网站/360指数查询
  • 无锡模板网站建设找哪个好/产品设计公司
  • wordpress 微信分享插件下载/对搜索引擎优化的认识
  • 涵江莆田交友网站/网店代运营需要多少钱
  • 中国建筑网官网首页/seo排名第一的企业
  • 网站备案号添加超链接/我想找一个营销团队
  • wordpress中文相册插件下载/宁波seo推广咨询
  • 交投建设集团网站/搜索引擎推广方案
  • 如何做网站开发/今日足球比赛分析推荐
  • 网站建设背景需要写些什么/电脑清理软件十大排名
  • z blog网站怎么做描述/淘宝关键词排名怎么查
  • 网站后面的官网是如何做的/简单网页制作
  • 网站前端制作费用/爱站seo
  • 传媒网站建设/网络营销广告案例
  • 重庆网站建设 渝/搜索引擎调词工具
  • 现在的网站使用frameset做吗/整站优化
  • 企业网站是如何做的/百度人工电话
  • 环保主题静态网站模板/百度推广有用吗
  • 深圳网页制作模板/谷歌搜索引擎seo
  • 手机网站改版了/seo的工作内容主要包括
  • 哪里网站可以做微信头像/vue seo 优化方案
  • 北京建设监理协会官方网站/云优化软件