我正在开发一款使用局域网的游戏.像大多数多人游戏一样,有一个服务器 – 客户端系统.计算机A运行程序实例,创建服务器并等待;计算机B做同样的事情.现在Computer C运行程序,我想要的是他可以看到计算机A和B在那里列为游戏服务器.我怎样才能做到这一点?
为了列出所有可用的服务器,一个简单的解决方案可能就是:我需要检查特定范围内的所有IP地址,看看它们是否通过我的特定端口进行响应.如果是,那么就会在其上运行一个游戏实例,并且应该列在服务器列表中.
上面描述的解决方案是好的吗?
我搜索并得到这段代码:
public void checkHosts(String subnet){
int timeout=1000;
for (int i=1;i<254;i++){
String host=subnet + "." + i;
if (InetAddress.getByName(host).isReachable(timeout)){
System.out.println(host + " is reachable");
}
}
}
最佳答案
原文链接:https://www.f2er.com/java/438049.html