簡體   English   中英

具有Openshift的Java套接字

[英]Java Sockets with Openshift

通過使用許多文章和Stack Overflow問題,我終於能夠成功地將Java Socket綁定到Openshift網站上的端口(端口8000)。

我知道綁定是成功的,因為沒有引發任何異常,而且我能夠輪詢Socket的端口號。 使用rhc客戶端工具轉發端口后,我還可以從客戶端應用程序成功連接到套接字。

問題是,如何在沒有端口轉發的情況下連接到服務器套接字? 如果沒有端口轉發,我將無法從任何其他計算機或我自己的計算機連接到服務器。

到目前為止,我已經嘗試過這些事情:

  • 連接到端口8000上的“ localhost”,端口轉發后即可工作。
  • 在端口8000處連接到網站URL,該端口始終返回null。
  • 在端口8000上連接到網站IP,這會導致“連接被拒絕:連接”錯誤。

客戶代碼:

    InetAddress ip = InetAddress.getByName("localhost"); 
        //Also tried '127.5.8.129' which openshift says is the website IP, and the website URL itself.
    Socket socket = new Socket(ip, 8000);

    PrintWriter out = new PrintWriter(socket.getOutputStream());
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

    out.println("Hello World");
    out.flush();

    System.out.println(in.readLine());

    socket.close();

編輯:我還可以將服務器套接字綁定到端口8443,但仍然無法遠程訪問它。

您需要綁定到端口8080,然后在端口8000上的公共URL上訪問您的應用程序。有關此端口如何在OpenShift上工作的更多信息,請參閱以下kb文章: https ://help.openshift.com/hc/en -us /用品/ 203263674乜外部端口,是可用-ON-OpenShift-

暫無
暫無

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

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