资源简介

java实现的8583发包解包,灵活,扩展性强,8583各域能自定义编码和解码规则,包含标准的银联MAC加密算法(ansi x9.19,ansi x9.9)及一个完整的socket客户端请求服务端的demo,修改mac运算规则时,只要重写com.protocol.p8583.field.FieldMac类就可以了。maven的demo。和其他地方50下载分的是一样的

资源截图

代码片段和文件信息

package com.protocol;


import com.protocol.dto.Request;
import com.protocol.dto.Response;
import com.protocol.utils.ByteUtil;
import com.protocol.utils.ExceptionUtils;
import com.protocol.utils.Log;


/**
 * User:
 * Date: 14-1-10
 * Time: 15:49
 */
public abstract class Protocol {

    private static org.slf4j.Logger logger = Log.makeLogger(Protocol.class);


    public static final String ENC_UTF8 = “UTF-8“;

    public static final String ENC_GBK = “GBK“;

    protected REQ paramDTO;

    protected RESP resultDTO;

    protected byte[] req_body;

    protected byte[] resp_body;

    public RESP getResultDTO() {
        return resultDTO;
    }

    protected Protocol(REQ paramDTO RESP resultDTO) {
        this.paramDTO = paramDTO;
        this.resultDTO = resultDTO;
    }

    public byte[] makeRequest() {
        try {
            logger.info(paramDTO.toString());
            makeRequestPre();
            makeRequestContent();
            makeRequestPost();
            logger.info(desc() + “发送的数据 : “ + getEncodeRequest());
            return req_body;
        } catch (Exception e) {
            ExceptionUtils.printException(e 10);
            throw new RuntimeException(e);
        }
    }

    public RESP makeResponse(byte[] resp_body) {
        try {
            this.resp_body = resp_body;
            logger.info(desc() + “响应的数据 : “ + getEncodeResponse());
            makeResponsePre();
            RESP resp = makeResponseobject();
            makeResponsePost();
            logger.info(resp.toString());
            return resp;
        } catch (Exception e) {
            ExceptionUtils.printException(e 10);
            throw new RuntimeException(e);
        }
    }

    protected String getEncodeRequest() {
        return ByteUtil.getEncodingString(req_body getEncoding());
    }

    protected String getEncodeResponse() {
        return ByteUtil.getEncodingString(resp_body getEncoding());
    }

    protected void makeRequestPre() {
    }

    protected void makeRequestPost() {
    }

    protected void makeResponsePre() {
    }

    protected void makeResponsePost() {
    }

    protected abstract void makeRequestContent();

    protected abstract RESP makeResponseobject();

    public REQ getParamDTO() {
        return paramDTO;
    }

    public String desc() {
        return ““;
    }

    public String getEncoding() {
        return ENC_UTF8;
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-18 13:47  j8583\
     目录           0  2018-12-18 13:46  j8583\.idea\
     目录           0  2018-12-18 13:46  j8583\.idea\artifacts\
     文件         451  2018-12-18 13:46  j8583\.idea\artifacts\j8583_war.xml
     文件         841  2018-12-18 13:46  j8583\.idea\artifacts\j8583_war_exploded.xml
     文件         637  2018-12-18 13:46  j8583\.idea\compiler.xml
     文件         138  2018-12-18 13:46  j8583\.idea\encodings.xml
     文件        1210  2018-12-18 13:46  j8583\.idea\misc.xml
     文件         257  2018-12-18 13:46  j8583\.idea\modules.xml
     文件        1254  2018-12-18 13:46  j8583\.idea\workspace.xml
     文件        1232  2018-12-18 13:46  j8583\j8583.iml
     文件        2695  2014-05-15 21:33  j8583\pom.xml
     目录           0  2018-12-18 13:46  j8583\resources\
     文件        4117  2014-05-15 21:34  j8583\resources\log4j.xml
     目录           0  2018-12-18 13:46  j8583\src\
     目录           0  2018-12-18 13:46  j8583\src\com\
     目录           0  2018-12-18 13:46  j8583\src\com\protocol\
     文件        2579  2014-05-16 20:51  j8583\src\com\protocol\Protocol.java
     目录           0  2018-12-18 13:46  j8583\src\com\protocol\communicator\
     文件        1277  2014-05-16 20:51  j8583\src\com\protocol\communicator\Communicate.java
     文件        3471  2014-05-16 20:51  j8583\src\com\protocol\communicator\CommunicateSocketLgCon.java
     文件        1522  2014-05-16 20:51  j8583\src\com\protocol\communicator\DefaultSocketProcess.java
     文件         288  2014-05-16 20:51  j8583\src\com\protocol\communicator\SocketProcessor.java
     目录           0  2018-12-18 13:46  j8583\src\com\protocol\demo\
     目录           0  2018-12-18 13:46  j8583\src\com\protocol\demo\abc\
     文件        1255  2014-05-16 20:51  j8583\src\com\protocol\demo\abc\AbstractProtocolABC.java
     文件        1045  2014-05-16 20:51  j8583\src\com\protocol\demo\abc\ConfigABC.java
     文件        2132  2014-05-16 20:51  j8583\src\com\protocol\demo\abc\Define8583ABC.java
     文件        1648  2014-05-16 21:36  j8583\src\com\protocol\demo\abc\ProtocolAbcPay.java
     文件        1715  2014-05-16 21:33  j8583\src\com\protocol\demo\abc\ProtocolAbcSign.java
     文件        1265  2014-05-16 20:58  j8583\src\com\protocol\demo\abc\ProtocolSign.java
............此处省略126个文件信息

评论

共有 条评论