java - 如何知道Jpos中的请求者是谁?

标签 java jpos

我有一个使用 jpos 的程序,我想进行过滤,以便我的服务器仅从特定的 IP 或端口响应。

如何知道消息来自哪里?这是我的简单代码

    public class ServerListener implements ISORequestListener {

    private final static Logger logger = LoggerFactory.getLogger(ServerListener.class);

    @Override
    public boolean process(ISOSource requester, ISOMsg reqMsg) {

    logger.debug("Heder Destinatnion " +reqMsg.getISOHeader().getDestination());

    logger.debug("Heder Source " +reqMsg.getISOHeader().getSource());
    return false
    }
    }

仅显示日志

Heder 目的地 = null

Heder 来源 = null

最佳答案

如果您的 ISOSource 实现实际上是一个扩展 BaseChannel 的 channel (大多数 channel 实现都扩展 BaseChannel),那么您可以强制转换您的 ISOSourceBaseChannel 并使用 BaseChannel.getSocket() 获取对底层套接字的引用。

如果您使用QServer,您可以使用allow 属性配置允许的主机。

当然,您可以使用防火墙。

关于java - 如何知道Jpos中的请求者是谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823860/

相关文章:

java - 检测 java 字符串对象大小给出了错误的结果

jpos - 从 jPOS 开始

java - 如何在 Linux 上设置 JavaPOS?

java.lang.ClassNotFoundException : org. jpos.iso.ISOException 异常

java - 发送 ISO8583 请求时出现 NullPointerException

linux - 使用 linux 安装 jPOS

java - * 在 java 的主要参数列表中是什么意思?

Java 聊天客户端 jtextfield 与 jtextarea

java - 组件不会出现

java - 如何在android中调用另一个类的方法?