现在,我在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并安装后执行此操作。我有一个简单的步骤吗?
答案 0 :(得分:0)
Telnet将无法连接到localhost ...
是的,确实如此。这就是为什么它说'连接到主机丢失'而不是'拒绝连接'。
这就是发生的事情。你编码:
connection.close();
你得到了:
与主机丢失的连接
你关闭了连接; Telnet告诉过你。
这就是应该发生的事情。
这里没有问题需要解决。
否则您在服务器接受循环中遇到了I / O异常。
但是因为你忽略了它们,所以不可能说出来。
答案 1 :(得分:-1)
在您的计划中,发生以下事件:
Telnet - Connection to host lost - on port 1099 in local machine