1

我正在尝试使用 J8583 打包 ISO 8583 消息:

        IsoMessage m = mf.newMessage(0x200); // You must use 0x200, 0x400, etc.
        m.setValue(3, "000000", IsoType.ALPHA, 6);
        m.setValue(11, "000001", IsoType.ALPHA, 6);
        m.setValue(41, "3239313130303031", IsoType.ALPHA, 16);
        m.setValue(60, "001054455354204D45535347", IsoType.ALPHA, 24);
        m.setValue(70, "0301", IsoType.ALPHA, 4);

        System.out.println(m.debugString());

在发送到获取主机之前,我应该如何获取 ISO 消息?

4

1 回答 1

1

有以下三种方式:

  • 调用writeData以获取编码为字节数组的消息。您有责任将其写入套接字,带有长度标头、终止符等
  • 如果您正在使用 java.nio,请调用writeToBuffer以获取 ByteBuffer。您可以传递长度标头的大小(通常为 2 或 4 个字节),或 0 以省略长度标头。生成的 ByteBuffer 包括消息终止符(如果已设置)。
  • 调用write, 将消息直接写入 OutputStream。您可以指定长度标头的大小,它还将写入终止符(如果已设置),然后刷新流。
于 2018-02-12T18:23:18.120 回答