我对网络这个主题还不熟悉,所以我想知道是否可以从其他设备连接到我的echo服务器。目前,我正在使用java和telnet来确保jvm和本地主机之间的连接,但我读的那本书说:“如果你直接连接到internet,世界上任何人都可以访问你的echo服务器,只要他们知道你的ip地址和神奇的端口号。”我该怎么做?代码如下:
public static void main(String[] args) throws IOException {
try (var s = new ServerSocket(8189)) {
try (Socket incoming = s.accept()) {
InputStream inStream = incoming.getInputStream();
OutputStream outStream = incoming.getOutputStream();
try (var in = new Scanner(inStream, StandardCharsets.UTF_8)) {
var out = new PrintWriter(
new OutputStreamWriter(outStream, StandardCharsets.UTF_8),
true);
out.println("Hello! Enter BYE to exit.");
var done = false;
while (!done && in.hasNextLine()) {
String line = in.nextLine();
out.println("Echo: " + line);
if (line.trim().equals("BYE")) done = true;
}
}
}
}
}
如果我先在jvm上启动它,然后转到cmd并键入telnet localhost 8189,我将获得对这个程序的访问权,但只能在我当前的pc上。
暂无答案!
目前还没有任何答案,快来回答吧!