【发布时间】:2015-03-14 14:59:45
【问题描述】:
通过使用很多文章和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,但仍然无法远程访问它。
【问题讨论】:
标签: java sockets port openshift portforwarding