簡體   English   中英

無法從外部客戶端連接到 Java 服務器

[英]Cannot connect to Java Server from external client

我正在創建一個個人工具,通過 Java 中的 HTTP 提供文件。 對於 HTTP 服務器部分,我使用的是 com.sun.net.httpserver.HttpServer package。 當我使用本地主機或外部主機名從我自己的 PC 連接時,它可以工作,但是當我嘗試從外部客戶端連接到它時,它就不起作用。 我還想提一下,java 默認策略文件從未被修改過,我在路由器后面,並且端口已正確轉發。 我嘗試修改策略文件,但沒有任何成功,盡管我不知道設置是否正確或是否已應用,並且我閱讀了一個存在類似問題的線程,但使用 rmi通過設置 java.rmi.server.hostname 系統屬性已解決,但我認為這在我的情況下也不可用,因為服務器使用 TCP。

下面是初始化服務器的代碼:

Settings settings = Controller.getInstance().getModel().getSettings();
            int port = settings.getHTTP_PORT();
            server = HttpServer.create(new InetSocketAddress(port), 20);

            String cachepath = settings.getCachepath();
            if(!cachepath.startsWith("/")) cachepath = "/"+cachepath;
            server.createContext(cachepath, new HTTPServerHandler());
                            server.start();

如果你們中的任何人能指出我能做些什么來解決這個問題,我將不勝感激。

似乎我試圖連接的服務器是套接字連接被阻止的唯一情況。 我請其他人連接到它並且它有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM