ServiceDiscoveryManager.java

来源:互联网 发布:红蜘蛛软件7.2破解版 编辑:程序博客网 时间:2024/06/08 10:18

package org.jivesoftware.smackx


自定义数据包需要此文件

 xmpp

 每建立一个连接将新建一个ServiceDiscoveryManager实例;



 // Intercept presence packages and add caps data when inteded.
        // XEP-0115 specifies that a client SHOULD include entity capabilities
        // with every presence notification it sends.
        PacketFilter capsPacketFilter = new PacketTypeFilter(Presence.class);
        PacketInterceptor packetInterceptor = new PacketInterceptor() {
            public void interceptPacket(Packet packet) {
                if (capsManager != null) {
                    String ver = getEntityCapsVersion();
                    CapsExtension caps = new CapsExtension(capsManager.getNode(), ver, "sha-1");
                    packet.addExtension(caps);
                }
            }
        };
        connection.addPacketInterceptor(packetInterceptor, capsPacketFilter);


//此处为拦截到的presence包添加xmpp内容(完善xml内容)并重新将包存入interceptors中。


自定义的消息包需要此步骤完善传输协议。

0 0
原创粉丝点击