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

📄 smppserver.java

📁 today bought a book, reflected good to upload source code package. 1. Based on the struts of custome
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// FrontEnd Plus for JAD
// DeCompiled : smppServer.class

package sms;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import utils.decoder;
import utils.encoder;

// Referenced classes of package sms:
//            smppDecoder, smppHeader, smppEncoder, Message, 
//            param, Customer, Address, Binding, 
//            listDLResponse, DLName, viewDLresponse, Member, 
//            AddressError, queryAllResponse, queryAll, messageId, 
//            smppCommands, Errors

class smppServer
    implements smppCommands, Errors
{

    ServerSocket ss;
    Socket s;
    InputStream in;
    OutputStream out;
    static boolean logon;
    static boolean debugon;
    int qlink;
    int qlinkr;

    void start()
        throws Exception
    {
        boolean flag = false;
        int i = 0x989680;
        log("Started, ready to accept");
        s = ss.accept();
        in = s.getInputStream();
        out = s.getOutputStream();
        log("Got connection");
        do
        {
            smppDecoder smppdecoder = new smppDecoder(read(16));
            debug(smppdecoder);
            smppHeader smppheader = smppdecoder.smppHeader();
            if(smppheader.length > 16)
            {
                smppdecoder = new smppDecoder(read(smppheader.length - 16));
                debug(smppdecoder);
            } else
            {
                smppdecoder = null;
            }
            log("Sequence " + smppheader.sequence + " length " + smppheader.length + " command " + smppheader.command);
            smppEncoder smppencoder = new smppEncoder();
            if(smppheader.command == 0x80000015)
            {
                log("Link check response");
                qlinkr++;
            } else
            if((smppheader.command & 0x80000000) != 0)
            {
                if(smppheader.command == 0x80000004)
                {
                    Message message = smppdecoder.submitResponse();
                    log("Response from deliver short message " + message.id);
                }
            } else
            {
                switch(smppheader.command)
                {
                case 34: // '"'
                    param param1 = smppdecoder.paramGet();
                    param1.value = param1.name + "-value";
                    smppencoder.paramRet(param1);
                    break;

                case 21: // '\025'
                    log("Received link query");
                    break;

                case 7: // '\007'
                    log("Replace short message");
                    break;

                case 8: // '\b'
                    log("Cancel short message");
                    break;

                case 22: // '\026'
                    log("Add distribution list");
                    break;

                case 23: // '\027'
                    log("Modify distribution list");
                    break;

                case 24: // '\030'
                    log("Delete distribution list");
                    break;

                case 17: // '\021'
                    log("Add Customer");
                    break;

                case 18: // '\022'
                    log("Delete Customer");
                    break;

                case 19: // '\023'
                    log("Modify Customer");
                    break;

                case 20: // '\024'
                    log("Query Customer");
                    Customer customer = smppdecoder.getCustomer();
                    customer.ocos = 11111;
                    customer.tcos = 22222;
                    customer.serviceLevel = 33333;
                    customer.password = "qpass";
                    customer.streetAddress = "qstreet";
                    customer.name = "qname";
                    customer.smsAddress = new Address("qaddress", 9, 9);
                    customer.smsAllowed = false;
                    smppencoder.getCustomerResponse(customer);
                    break;

                case 1: // '\001'
                    flag = true;
                    // fall through

                case 2: // '\002'
                    log("Bind");
                    Binding binding = smppdecoder.bind();
                    binding.smsc = "ESME";
                    smppencoder.bindResponse(binding);
                    break;

                case 6: // '\006'
                    log("Unbind");
                    smppencoder = null;
                    break;

                case 32: // ' '
                    log("List DLS");
                    listDLResponse listdlresponse = new listDLResponse();
                    listdlresponse.names = new DLName[20];
                    listdlresponse.names_len = 20;
                    int j = 0;
                    do
                    {
                        DLName dlname = new DLName();
                        dlname.name = "DLNAME" + j;
                        listdlresponse.names[j] = dlname;
                    } while(++j < 20);
                    smppencoder.listDLResponse(listdlresponse);
                    break;

                case 25: // '\031'
                    log("View DL");
                    viewDLresponse viewdlresponse = new viewDLresponse();
                    viewdlresponse.members = new Member[20];
                    viewdlresponse.members_len = 20;
                    int k = 0;
                    do
                        viewdlresponse.members[k] = new Member("mem" + k, new Address("memaddr" + k, k, k));
                    while(++k < 20);
                    smppencoder.viewDLresponse(viewdlresponse);
                    break;

                case 4: // '\004'
                    log("Submit");
                    Message message1;
                    if(smppdecoder == null)
                    {
                        log("No message body!");
                        message1 = new Message();
                    } else
                    {
                        log("Submit Decoding submit");
                        message1 = smppdecoder.submit();
                        log("Submit Decoded submit");
                    }
                    message1.id = "" + i;
                    i++;
                    log("Submit Sending response");
                    smppencoder.submitResponse(message1);
                    log("Submit response sent");
                    break;

                case 33: // '!'
                    log("Submit-multi");
                    Message message2 = smppdecoder.submitMulti();
                    message2.id = "" + i;
                    i++;
                    message2.fails = new AddressError[1];
                    message2.fails[0] = new AddressError(new Address("999999999", 9, 9), 100);
                    message2.fails_len = 1;
                    smppencoder.submitMultiResponse(message2);
                    break;

                case 3: // '\003'
                    log("Query message");
                    Message message3 = smppdecoder.query();
                    message3.gsmError = 9;
                    message3.status = 9;
                    message3.timeStamp = new Date();
                    smppencoder.queryResponse(message3);
                    break;

                case 35: // '#'
                    log("Query all messages");
                    queryAll queryall = smppdecoder.queryAll();
                    log("Decoded");
                    queryAllResponse queryallresponse = new queryAllResponse();
                    queryallresponse.ids = new messageId[queryall.count];
                    for(int l = 0; l < queryall.count; l++)
                    {
                        queryallresponse.ids[l] = new messageId();
                        queryallresponse.ids[l].id = "12345678";
                    }

                    queryallresponse.ids_len = queryall.count;
                    smppencoder.queryAllResponse(queryallresponse);
                    break;

                case 36: // '$'
                    log("Query message details");
                    Message message4 = smppdecoder.queryDetails();
                    message4.priority = false;
                    message4.replacement = false;
                    message4.registered = false;

⌨️ 快捷键说明

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