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

📄 processsubcode.java~61~

📁 短信网关发送接受平台。
💻 JAVA~61~
字号:
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 ProcessSubcode extends Engine {

        public ProcessSubcode() {
                super("processSubcode");
        }

        public void run(){
                String xmlStr="";
                while(isRunning()){
                        if(!Config.subcode_queue.isEmpty()){
                                xmlStr=(String)Config.subcode_queue.pop();
                        //if (xmlStr!=null){
                                processXMLStr(xmlStr);
                        //}
                        }else{
                                nap();
                        }
                }
                this.shutdown();
                Config.log.log("Thread processSubcode is shutdown!");
        }

        private void processXMLStr(String xmlStr){
                String xmlstr=xmlStr.toLowerCase();
                ParseXML xml=new ParseXML();
                xml.parse(xmlstr);
                String subcode="";
                ServiceInfo serviceInfo;
                String gateway="";
                String msg_content="";
                if (xmlstr.startsWith("<cmpp_d")){
                        subcode=xml.getStringValue("/cmpp_deliver/destination_id");
                        String src_terminal_id=xml.getStringValue("/cmpp_deliver/src_terminal_id");
                        gateway=xml.getStringValue("/cmpp_deliver/source/name");
                        msg_content=xml.getStringValue("/cmpp_deliver/msg_content");

                        int registered_delivery=xml.getIntValue("/cmpp_deliver/registered_delivery");
                        if(registered_delivery !=0 ){
                                for (int i=0;i<Config.subcode_item.size();i++){
                                        serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
                                        if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                                while(!serviceInfo.data.push(xmlStr))nap();
                                                //System.out.println("----in processsubcode.processxmlstr()send other");
                                        }
                                }
                        }else{
                                if (!msg_content.startsWith("30303030") && !msg_content.startsWith("0030003000300030")){
                                        for (int i=0;i<Config.subcode_item.size();i++){
                                                serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
                                                if (serviceInfo.checkValid(subcode)){
                                                        if (serviceInfo.is_connect!=false  && serviceInfo.m_socket!=null){
                                                                        while(!serviceInfo.data.push(xmlStr))nap();
                                                                        serviceInfo.incMo();

                                                        }else{
                                                                //System.out.println("----in processsubcode.processxmlstr().not null");
                                                                Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+subcode+"</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>"+subcode+"</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.subcode_item.size();i++){
                                                serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
                                                if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                                        while(!serviceInfo.data.push(xmlStr))nap();
                                                        //System.out.println("----in processsubcode.processxmlstr()send other");
                                                }
                                        }
                                }
                        }

                }else{
                        for (int i=0;i<Config.subcode_item.size();i++){
                                serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
                                if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
                                       while(!serviceInfo.data.push(xmlStr)) nap();
                                        //System.out.println("----in processsubcode.processxmlstr()send other");
                                }
                        }
                }

                xml.release();
        }

        public static void main(String[] args) {
               //ProcessSubcode processSubcode1 = new ProcessSubcode();
        }
}

⌨️ 快捷键说明

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