java - 与 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();
}
当我运行客户端时,我希望在控制台中输出“得到消息:将此消息发送到服务器”,但我什么也没得到。没有错误或服务器响应。
解决方案
推荐阅读
- python - 哪个python vs PYTHONPATH
- angular - Azure OAuth2 因 Angular HashLocationStrategy 失败
- c++ - 如何将模板实例传递给另一个模板的另一个实例?
- go - 为 sns 传输添加服务名称
- c++ - `std::list::splice(std::const_iterator pos, std::list&& other)` 是否保证将 `other` 留空?
- java - mkdirs() 不会在 android 中创建新目录
- javascript - 如何通过鼠标滚轮和滚动条支持重用固定数量的行来创建虚拟表?
- mysql - MYSQL 从不同服务器上的数据库连接表
- python - 尝试通过交替值组合列表时卡在扩展切片上
- android - android BaseFragment 与它自己的 xml 和继承片段的视图在父的 frameLayout