【问题标题】:how to set java bridge http local as static port?如何将java桥http本地设置为静态端口?
【发布时间】:2020-12-12 22:08:32
【问题描述】:

我有一个关于 php/java 桥的问题。我已经运行了它,我得到了像这样的提示

我想将此设置为仅在 http_local 端口 8080 中运行而不再次显示提示选择? 我在我的 php/javabridge 中进行了搜索,我无法获取调用此提示并设置 http_local 端口 8080 的类的位置 如何设置?有可能的?如果可能的话,我必须在哪里编辑代码?

在我检查调用代码后,此提示来自standalone.java

public void init(final String[] s) {
        String sockname = null;
        int logLevel = -1;
        final String tcpSocketName = "9267";
        if (s.length > 3) {
            this.checkOption(s);
        }
        try {
            if (s.length > 0) {
                sockname = s[0];
                if (sockname.startsWith("-")) {
                    this.checkOption(s);
                }
            }
            try {
                if (s.length > 1) {
                    logLevel = Integer.parseInt(s[1]);
                }
            }
            catch (NumberFormatException e2) {
                this.usage();
            }
            catch (Throwable t) {
                t.printStackTrace();
            }
            if (s.length == 0) {
                try {
                    final int tcpSocket = Integer.parseInt(tcpSocketName);
                    final int freeJavaPort = findFreePort(tcpSocket);
                    final int freeHttpPort = findFreePort(8080);
                    final int freeHttpsPort = findFreePort(8443);
                    final Object result = JOptionPane.showInputDialog(null, "Start a socket listener on port", "Starting the PHP/Java Bridge ...", 3, null, new String[] { "INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" + freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort, "HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort);
                    if (result == null) {
                        System.exit(0);
                    }
                    sockname = result.toString();
                }
                catch (Throwable t2) {}
            }
            if (s.length == 0) {
                TCPServerSocket.TCP_PORT_BASE = Integer.parseInt(tcpSocketName);
            }
            if (checkServlet(logLevel, sockname, s)) {
                return;
            }
            final ISocketFactory socket = bind(logLevel, sockname);
            if ("true".equals(System.getProperty("php.java.bridge.test.startup"))) {
                System.exit(0);
            }
            JavaBridge.initLog(String.valueOf(socket), logLevel, s);
            JavaBridge.init(socket, logLevel, s);
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

所以这可以设置为只在 http_local 8080 中运行的代码吗?我使用来自 maven 的 javabridge

【问题讨论】:

    标签: java php-java-bridge


    【解决方案1】:

    要使端口为静态值且不弹出提示,可以更改以下代码

        if (s.length == 0) {
                try {
                    final int tcpSocket = Integer.parseInt(tcpSocketName);
                    final int freeJavaPort = findFreePort(tcpSocket);
                    final int freeHttpPort = findFreePort(8080);
                    final int freeHttpsPort = findFreePort(8443);
                    //comment the JOptionPane to disable the dialog prompt
                    /*final Object result = JOptionPane.showInputDialog(null, "Start a socket listener on port", "Starting the PHP/Java Bridge ...", 3, null, new String[] { "INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" + freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort, "HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort);
                    if (result == null) {
                        System.exit(0);
                    }*/
                    sockname = "8080"; //<--hardcode the sockname variable with the desired valid port value
                }
                catch (Throwable t2) {}
            }
    

    【讨论】:

    • 是的,我必须尝试并更改它,但我使用来自 maven 依赖的 java bridge,所以我无法编辑来自 maven 依赖的代码...顺便说一句,github 上的任何链接都可以获取 java bridge 的源代码?
    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2018-07-09
    • 2019-02-24
    • 1970-01-01
    • 2017-08-24
    • 2019-10-28
    相关资源
    最近更新 更多