如何测试与端口的连接

时间:2014-06-29 10:10:24

标签: java eclipse networking ports

我还是一名初学程序员,但我喜欢在练习的同时进行实验和学习。我玩很多英雄联盟,这是今天最大的在线游戏。有时这个游戏的服务器是离线的,我的想法是制作一个java程序,检查游戏是否在线(端口打开),然后告诉我游戏是否在线。由于我是一名初学程序员,而且我对端口/网络地址的理解仍然缺乏一点,我想知道是否有人可以解释或帮助我实现我的目标。如果是通过解释或提供有用的链接,我会对所有事情开放!

提前致谢,

鲍里斯

2 个答案:

答案 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");
        }
    }
}