⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 streamhostprovider.java

📁 JBother是纯Java开发的Jabber(即时消息开源软件)客户端。支持群组聊天
💻 JAVA
字号:
/** * $RCSfile$ * $Revision: 2495 $ * $Date: 2005-05-30 10:14:25 -0500 (Mon, 30 May 2005) $ * * Copyright 2003-2004 Jive Software. * * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.jivesoftware.smackx.provider;import org.jivesoftware.smackx.packet.*;import org.jivesoftware.smack.provider.IQProvider;import org.jivesoftware.smack.packet.IQ;import org.xmlpull.v1.XmlPullParser;/** * this class implements a provider for <streamhost> and <streamhost-used> * packets. * * @author Lukasz Wiechec */public class StreamHostProvider implements IQProvider {    public static final String NAMESPACE = "http://jabber.org/protocol/bytestreams";    public IQ parseIQ(XmlPullParser parser) throws Exception {        boolean done = false;        int port = 8888;        String host = "";        String jid = "";        String sid = parser.getAttributeValue("","sid");;        StreamHost h = null;        StreamHostUsed u = null;        boolean streamhostused = false;        while (!done) {            int eventType = parser.next();            String elementName = parser.getName();            String namespace = parser.getNamespace();            if (eventType == XmlPullParser.START_TAG) {                if (elementName.equals("streamhost")) {                    try {                        port = Integer.parseInt(parser.getAttributeValue("","port"));                    }                    catch(NumberFormatException nfe) { }                    host = parser.getAttributeValue("","host");                    jid = parser.getAttributeValue("","jid");                    if(h == null) h = new StreamHost(sid);                    h.addHost(new StreamHost.Host(host, jid, port));                } else if (elementName.equals("streamhost-used")) {                    jid = parser.getAttributeValue("","jid");                    if(u == null) u = new StreamHostUsed(jid);                    streamhostused = true;                }            } else if (eventType == XmlPullParser.END_TAG && elementName.equals("query")) {                done = true;            }        }        if (host != null && !streamhostused) {            return h;        }        else {            return u;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -