java - 我用 Java 创建一个简单的服务器后 Telnet 无法连接到 localhost
问题描述
现在,我用 java 制作了一个简单的服务器,如下所示:
import Java.net.*;
import Java.io.*;
import Java.util.*;
class Server{
public static void main(String[] args){
int PORT = 13;
try(ServerSocket server = new ServerSocket(PORT)){
while(true){
try(Socket connection = server.accept()){
Writer out = new OutputStreamWriter(connection.getOutputStream());
Date now = new Date();
out.write(now.toString());
out.flush();
connection.close();
} catch(IOException ex){}
}
}
catch(IOException ex){
System.err.println(ex);
}
}
}
我从命令行编译并运行它。在端口 13 上,我尝试在 telnet 上运行它:telnet localhost 13
但它给我的只是“与主机的连接丢失”。请注意,我是在 Windows 10 上启用 telnet 并安装它之后执行此操作的。我缺少一个简单的步骤吗?
解决方案
Telnet 无法连接到本地主机...
是的,它确实。这就是为什么它说“与主机的连接丢失”而不是“连接被拒绝”。
这就是发生的事情。你编码:
connection.close();
你得到了:
与主机的连接丢失
您关闭了连接;Telnet 告诉过你。
这就是应该发生的事情。
这里没有问题需要解决。
否则,您在服务器接受循环中遇到 I/O 异常。
但是当你忽略它们时,不可能说是哪个。
推荐阅读
- shell - 在linux中的csv中添加查询结果
- kubernetes - Kubernetes 部署 - 状态副本和规范副本之间的区别
- angular - 在 Angular 8 表单中使用 formControlName 时 Metronic 步骤按钮不起作用
- reactjs - Expose Loader 不会全局导出模块
- c# - 在方法中的任何位置取消操作的最佳方法是什么?
- javascript - 在 onbeforeunload() 函数中设置自定义属性不起作用
- spring - 在 Spring Boot 中嵌套 @Transactional,第二个事务不回滚 REQUIRES_NEW
- ios - 在暗模式和亮模式之间切换时更新 UI,然后进入前景
- google-chrome - 即使服务器发回了响应,Chrome xhr 调用仍处于待处理状态
- encoding - UFT:如何修改编码为“UCS-2 LE BOM”的文件