首页 > 解决方案 > 与 Heroku java 服务器的套接字连接不起作用?

问题描述

我在 Heroku 上部署了一个简单的 Java 服务器,我想使用来自客户端的 Sockets 连接和发送字符串,但是当我发送字符串时我没有得到任何响应。

我尝试将端口号从 80 更改为 443。

The server on Heroku:

public class Server {
  public static void main(String[] args) throws IOException {
      Integer port = Integer.parseInt(System.getenv("PORT"));
      ServerSocket serverSocket = new ServerSocket(port);
      Socket clientSocket = serverSocket.accept();
      BufferedReader in = new BufferedReader(new     InputStreamReader(clientSocket.getInputStream()));
      PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
      String inputLine;
      while((inputLine = in.readLine())!=null) {
        out.println(inputLine);
      }
  }
}

我电脑上的客户端:

public class Client {

  public static void main(String[] args) throws IOException  {
    try {
      Socket echoSocket = new Socket("minimal-java-web-app.herokuapp.com", 80);
      BufferedReader in = new BufferedReader(new     InputStreamReader(echoSocket.getInputStream()));
      PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);

      String inputLine;
      out.println("Sent this message to server");
      while((inputLine = in.readLine())!=null) {
        System.out.println("got message: "+inputLine);
      }
      echoSocket.close();

  }

当我运行客户端时,我希望在控制台中输出“得到消息:将此消息发送到服务器”,但我什么也没得到。没有错误或服务器响应。

标签: javasocketsheroku

解决方案


推荐阅读