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

📄 processserviceid.java~64~

📁 短信网关发送接受平台。
💻 JAVA~64~
字号:
import Utilities.Engine;
import java.io.*;
import XML.*;
import XML.XMLException.*;
import java.util.*;
import Services.*;
import Utilities.*;
/**
 * <p>Title: InHand SMS platform XMLRouter</p>
 * <p>Description: InHand 短信服务平台服务路由器</p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: 北京映翰通网络技术有限公司</p>
 * @author 韩传俊 shock2000@21cn.com
 * @version 1.0
 */

public class ProcessServiceID extends Engine {

        public ProcessServiceID() {
                super("processServiceID");
        }

        public void run(){
                String xmlStr="";
                while(isRunning()){

                        if(!Config.service_id_queue.isEmpty()){
                                xmlStr=(String)Config.service_id_queue.pop();
                        //if (xmlStr!=null){
                                processXMLStr(xmlStr);
                        //}
                        }else{
                                nap();
                        }
                }
                this.shutdown();
                Config.log.log("Thread processServiceID is shutdown!");
        }

        private void processXMLStr(String xmlStr){
                String xmlstr=xmlStr.toLowerCase();
                ParseXML xml=new ParseXML();
                xml.parse(xmlstr);
                String service_id="";
                ServiceInfo serviceInfo;
                String dest_terminal_id="";

                if (xmlstr.startsWith("<cmpp_d")){
                        service_id=xml.getStringValue("/cmpp_deliver/msg_content");
                        int msg_fmt=xml.getIntValue("/cmpp_deliver/msg_fmt");
                        dest_terminal_id=xml.getStringValue("/cmpp_deliver/destination_id");
                        String src_terminal_id=xml.getStringValue("/cmpp_deliver/src_terminal_id");
                        String gateway=xml.getStringValue("/cmpp_deliver/source/name");
                        int registered_delivery=xml.getIntValue("/cmpp_deliver/registered_delivery");

                        if(registered_delivery !=0){
                                for (int i=0;i<Config.service_id_item.size();i++){
                                        serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
                                        if(serviceInfo.is_connect!=false  && serviceInfo.m_socket!=null){
                                                while(!serviceInfo.data.push(xmlStr)) nap();
                                        }
                                }
                        }else{
                                if (!service_id.startsWith("30303030") && !service_id.startsWith("0030003000300030")){
                                        for (int i=0;i<Config.service_id_item.size();i++){
                                                serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
                                                if (serviceInfo.checkServiceValid(service_id,msg_fmt)){
                                                        if (serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                                                while(!serviceInfo.data.push(xmlStr)) nap();
                                                                serviceInfo.incMo();
                                                        }else{
                                                                Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+dest_terminal_id+"</src_terminal_id><dest_terminal_id>"+src_terminal_id+"</dest_terminal_id><pk_total>1</pk_total><pk_number>1</pk_number><service_id>tsxx</service_id><msg_fmt>15</msg_fmt><msg_content>"+Utility.toHexString(Config.is_not_working)+"</msg_content></cmpp_submit>");
                                                        }
                                                xml.release();
                                                return;
                                                }
                                        }
                                        Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+dest_terminal_id+"</src_terminal_id><dest_terminal_id>"+src_terminal_id+"</dest_terminal_id><pk_total>1</pk_total><pk_number>1</pk_number><service_id>tsxx</service_id><msg_fmt>15</msg_fmt><msg_content>"+Utility.toHexString(Config.no_such_service)+"</msg_content></cmpp_submit>");
                                }else{
                                        for (int i=0;i<Config.service_id_item.size();i++){
                                                serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
                                                if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                                        while(!serviceInfo.data.push(xmlStr))nap();
                                                }
                                        }
                                }
                        }

                }else{
                        for (int i=0;i<Config.service_id_item.size();i++){
                                serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
                                if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                        while(!serviceInfo.data.push(xmlStr))nap();
                                }
                        }
                }
                xml.release();
        }

}

⌨️ 快捷键说明

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