C#实现服务器数据实时推送的功能的原理

   有的时候我们需要实现服务器的数据实时的向客户端进行自动推送,这样可以不适用轮询的方式来查询,首先讲一下实现推送数据的原理,利用agsxmpp技术,首先是服务器端打开相应的持续监测端口例如:5222端口,然后客户端可以向该端口发送数据,服务器可以接收,服务器也可以根据相应的连接客户端,对每一个客户端进行数据自动发送,服务器端最主要的函数事件是:streamParser = new StreamParser();
            streamParser.OnStreamStart += new StreamHandler(streamParser_OnStreamStart);
            streamParser.OnStreamEnd += new StreamHandler(streamParser_OnStreamEnd);

            streamParser.OnStreamElement += new StreamHandler(streamParser_OnStreamElement);

利用这几个事件服务器可以自动接收和发送相应的数据,客户端最主要的函数事件是://登录事件
            con.OnLogin += new ObjectHandler(con_OnLogin);
            //验证事件
            con.OnAuthError += new OnXmppErrorHandler(con_OnAuthError);
            //消息处理
            con.OnMessage += new XmppClientConnection.MessageHandler(con_OnMessage);
            //出息消息 收到Presence节时引发的事件,判断用户上线/离线触发,以及用户处理好友请求(拒绝/接受)、被T处理
            con.OnPresence += new XmppClientConnection.PresenceHandler(con_OnPresence);
            //出错
            con.OnError += new ErrorHandler(con_OnError);
            //请求事件
            con.OnIq += new agsXMPP.Xml.StreamHandler(con_OnIq);

利用上面这几个事件,客户端可以随时跟服务器进行通讯,利用agsxmpp技术和上面几个函数事件就可以实现服务器信息的自动推送功能。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值