`
fanguanghui
  • 浏览: 96998 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

agsXMPP客户端关于好友在线状态的设置及其响应的方法

 
阅读更多

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

agsXMPP越来越多人用,最近有几个网友都问起如何在agsXMPP的客户端处理好友在线状态的设置以及响应。

agsXMPP里面有2个重要的地方可以设置在线状态:

1.PresenceType.available和PresenceType.unavailable,XMPP官方不推荐使用PresenceType.unavailable来实现隐身,为什么?A用户给B用户(或者所有用户)发送PresenceType.unavailable,那就相当于下线了,根本不能识别是“隐身”还是“下线”,有些偏门的工具喜欢把隐身的用户给显示出来。。。。。。。所以,那就不建议用PresenceType.unavailable咯。

2.ShowType.XXXXX,这个就不用多说了,其本身就是设置多种在线状态的。。。。


下面的代码实现了如何告诉特定好友(用循环就可以多个好友了),自己的在线状态:


下面的代码就实现了如何响应好友发送过来的在线状态:

这两句是判断的关键:

if (pres.Type == PresenceType.available && pres.Show==ShowType.chat)//如果好友上线,并且是chat状态

{}

else if(pres.Type == PresenceType.available && pres.Show==ShowType.away)//如果好友上线,并且是away状态

{}

分享到:
评论

相关推荐

    agsXMPP服务器客户端交互

    `ProcessIQ`方法专门处理IQ(Informational Query)节点,IQ用于执行各种请求和应答操作,如认证、查询和设置。在示例中,当接收到`IqType.get`类型的IQ(请求密码或摘要信息)时,服务器会返回结果,包含所需的认证...

    基于agsXMPP的一个聊天机器人源码,含xmpp客户端

    在开发过程中,可以利用agsXMPP库提供的事件驱动模型来处理接收和发送的消息,以及用户的登录、离线等状态变化。同时,通过agsXMPP的扩展机制,可以实现自定义的协议扩展,以满足特定的业务需求。 总的来说,这个...

    agsxmpp 源码,例子

    agsXMPP是一个基于C#开发的开源XMPP(Extensible Messaging and Presence Protocol)库,用于构建即时消息(IM)和在线状态系统。XMPP是一种基于XML的开放标准,广泛用于实时通信,包括聊天、视频通话、文件传输和...

    agsxmpp与openfire服务器通讯

    4. **订阅和发布在线状态**:agsxmpp会订阅其他用户的状态,并可以发布自己的在线状态。 三、agsxmpp.dll修复登录问题 1. **网络问题**:检查网络连接是否正常,确保agsxmpp能够连接到Openfire服务器。 2. **认证...

    agsXMPP类库(C#)

    8. **存在状态(Presence)管理**:允许用户发布和订阅他人的在线状态,实现好友列表和状态更新。 9. **多用户聊天(MUC)支持**:提供进入和管理多用户聊天室的能力,进行群聊交流。 10. **扩展功能**:agsXMPP类库...

    可以访问openfire的agsxmpp.dll

    agsXMPP库提供了丰富的API,让开发者能够方便地在应用程序中集成XMPP功能,比如创建用户账户、发送消息、处理在线状态等。通过这个修改后的DLL,开发者可以构建跨平台的应用程序,实现与Openfire服务器的无缝对接。 ...

    agsxmpp官方源代码

    XMPP是一种基于XML的实时通信协议,广泛用于即时通讯、在线状态管理和多用户聊天应用。agsxmpp官方源代码包含了针对不同Visual Studio版本的工程文件,支持Visual Studio 2003、2005和2008,这使得该库能够兼容较旧...

    agsXMPP 开源IM全套代码

    XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准协议,常用于实现即时通讯系统,如聊天应用、在线状态服务等。agsXMPP的主要目标是简化客户端的开发,让开发者能够更专注于服务端的逻辑...

    AgsXmpp学习笔记

    5. **状态管理**: 用户可以设置和广播自己的在线状态,如“在线”、“离线”、“忙碌”等,也可以查看其他用户的在线状态。 6. **资源绑定**: 客户端可以绑定多个资源(如手机、电脑等),允许多设备同时在线并进行...

    agsxmpp.dll

    2. **C#接口**:agsxmpp.dll为C#开发者提供了丰富的类和方法,用于构建XMPP客户端应用程序。这些接口包括连接、认证、发送和接收消息、管理联系人列表等功能。 3. **连接Openfire**:Openfire服务器作为agsxmpp.dll...

    agsXMPP 源码

    agsXMPP是一个开源的XMPP(Extensible Messaging and Presence Protocol)客户端库,它主要用于构建实时通信和协作应用,如即时消息、语音视频通话、在线状态管理等。XMPP是一种基于XML的开放标准协议,广泛应用于...

    agsxmpp的库以及源码

    AgSXmpp是一个基于XMPP(Extensible Messaging and Presence Protocol)协议的开源库,适用于C#编程语言。XMPP是一种开放标准的即时通讯协议,广泛应用于聊天应用、协作软件和物联网设备之间的通信。在这个压缩包中...

    agsXMPP即时消息系统C#版 源码

    而`xmpp_ser`目录可能包含的是服务器端的代码,负责处理客户端连接、验证用户身份、转发消息以及维护用户在线状态等。服务器端的设计通常要考虑并发连接处理、安全性和稳定性。 通过研究这个开源项目,你可以了解到...

    IM.rar_51aspx agsXMPP_agsXMPP IM_agsxmpp.dll_agsxmpp2005_im

    XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,广泛用于即时通讯和在线状态服务。它的核心组件包括Jabber服务器、客户端和代理,支持一对一、多对一以及多对多的通信模式。 在...

    C# agsXmpp连接Openfire的Demo。可登陆接收发送消息

    在即时通讯(Instant Messaging, IM)领域,C# agsXMPP库被广泛用于构建XMPP协议的客户端应用。Openfire则是一款流行的开源服务器软件,它基于XMPP标准,提供了实时通讯服务。本Demo旨在展示如何使用C#的agsXMPP库...

    AGSXMPP即时通讯C#例子

    AGSXMPP是一个开源的XMPP(Extensible Messaging and Presence Protocol)库,它允许开发者创建支持即时通讯(IM)和在线状态(Presence)的应用。在C#编程环境中,AGSXMPP提供了一套完整的API,使得开发人员可以...

    Xmpp agsXmpp dll

    DLL下载 基于XMPP架构的agsXmpp DLL

    AgsXMPP(带Jingle扩展)

    在实际开发中,开发者可以利用AgsXMPP提供的API快速构建自己的XMPP客户端或服务器。例如,要实现一个音视频通话应用,开发者首先需要创建Jingle会话,然后进行音视频流的初始化和传输,同时处理网络变化和会话状态的...

    agsXMPP.dll

    c#开发即时聊天工具使用agsXMPP时必须用到的一个DLL文件

    创建基于agsXMPP的实例

    XMPP 是一种开放的即时通讯标准,广泛应用于聊天应用、在线状态通知以及分布式工作流系统等。agsXMPP 通过异步套接字、高效的 XML 解析器和自有的轻量级 XML DOM 实现了高效的消息处理。 在agsXMPP 中,XML 解析器...

Global site tag (gtag.js) - Google Analytics