我有一个使用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 Destinatnion = null
Heder Source = null
答案 0 :(得分:1)
如果您的ISOSource
实施实际上是一个扩展BaseChannel
的频道(大多数频道实施延伸BaseChannel
),那么您可以将ISOSource
投射到BaseChannel
并使用BaseChannel.getSocket()
获取对底层套接字的引用。
如果您使用的是QServer
,则可以使用allow
属性配置允许的主机。
当然,您可以使用防火墙。