我还是一名初学程序员,但我喜欢在练习的同时进行实验和学习。我玩很多英雄联盟,这是今天最大的在线游戏。有时这个游戏的服务器是离线的,我的想法是制作一个java程序,检查游戏是否在线(端口打开),然后告诉我游戏是否在线。由于我是一名初学程序员,而且我对端口/网络地址的理解仍然缺乏一点,我想知道是否有人可以解释或帮助我实现我的目标。如果是通过解释或提供有用的链接,我会对所有事情开放!
提前致谢,
鲍里斯
答案 0 :(得分:1)
有些工具可以检查服务器是否存活。
最基本的是CMD中的ping:
ping stackoverflow.com(如果您有域名)
或
ping 198.252.206.16(如果您有IP)
如果你看到这样的话,那么服务器还活着并给出回复: Ping统计数据为198.252.206.16: 数据包:已发送= 4,已接收= 4,已丢失= 0(0%丢失), 以毫秒为单位的近似往返时间: 最小值= 142ms,最大值= 145ms,平均值= 143ms
但是如果你看到这个,那么服务器或你的互联网连接就有问题: 请求超时。
还有一些其他工具,例如Hercules,可以测试服务器是否存活。
如果您仍然确定自己在java中编写程序,可以尝试创建一个新的java.net.Socket。如果该行抛出任何异常,那么您将无法连接到服务器。要管理它,您应该使用" try-catch"块。
答案 1 :(得分:0)
您可以使用java socket检测端口是活还是死:
import java.io.IOException;
import java.net.Socket;
public class PortDetect {
public static void main(String[] args) {
try {
new Socket("1.2.3.4", 8080);
System.out.println("alive");
} catch (IOException e) {
e.printStackTrace();
System.out.println("dead");
}
}
}