首页 > 解决方案 > 我用 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 并安装它之后执行此操作的。我缺少一个简单的步骤吗?

标签: javaserverlocalhosttelnet

解决方案


Telnet 无法连接到本地主机...

是的,它确实。这就是为什么它说“与主机的连接丢失”而不是“连接被拒绝”。

这就是发生的事情。你编码:

connection.close();

你得到了:

与主机的连接丢失

您关闭了连接;Telnet 告诉过你。

这就是应该发生的事情。

这里没有问题需要解决。

否则,您在服务器接受循环中遇到 I/O 异常。

但是当你忽略它们时,不可能说是哪个。


推荐阅读