public class IpConfig { private static final Logger logger = LoggerFactory.getLogger(IpConfig.class); private static boolean isReady = false; private static IpConfig instanced = new IpConfig(); public static IpConfig getInstanced() { return instanced; } private List<String> ip; long startTime; long lastModifiedTime; private IpConfig() { if (!isReady){ isReady = true; String path = this.getClass().getResource(PropertiesUtil.getValue("ip.white.list.path")).getFile(); initConfiguration(path); startTime = System.currentTimeMillis(); } } public void initConfiguration(String path) { File file = new File(path); if (!file.exists()) { logger.debug("file is null"); return; } lastModifiedTime = file.lastModified(); BufferedReader bf = null; FileReader fileReader = null; List<String> ipList = new ArrayList<String>(); try { fileReader = new FileReader(file); bf = new BufferedReader(fileReader); String line = null; while ((line = bf.readLine()) != null) { ipList.add(line.trim().replace(" ", "")); } if (ipList.size() > 0) { ip = ipList; } } catch (FileNotFoundException e) { logger.error("action:config;error message:" + e.getMessage()); } catch (IOException e) { logger.error("action:config;error message:" + e.getMessage()); } finally { try { closeReadFile(bf, fileReader); } catch (IOException e) { logger.error("action:config;error message:" + e.getMessage()); } } } protected void closeReadFile(BufferedReader bufferedReader, FileReader fileReader) throws IOException{ if (bufferedReader!=null){ bufferedReader.close(); } if (fileReader!=null){ fileReader.close(); } } public List<String> getIpList() { long endTime = System.currentTimeMillis(); long readTime = endTime - startTime; if (readTime > Long.parseLong(PropertiesUtil.getValue("ip.timeout.time")) * 1000){ String path = this.getClass().getResource(PropertiesUtil.getValue("ip.white.list.path")).getFile(); File file = new File(path); long lastRead = file.lastModified(); //If file had been modified, need to init again if (lastModifiedTime != lastRead) { initConfiguration(path); } startTime = endTime; } if (ip != null && ip.size() > 0) { return ip; } return null; } }
相关推荐
# application.properties spring.server.name=spring-app spring.server.port=9237 ``` 在高级用法中,如果需要将配置信息映射到数组或者列表中,可以使用Java配置类中的字段类型来实现。例如: ```java @...
视频捕获和传输(Delphi源码 ... Binding.IP := IPList.Strings[IPList.Count - 1]; Binding.Port := 8085; lblShowIP.Caption := Binding.IP; lblShowPort.Caption := IntToStr(Binding.Port);
· ·分类国家 IP 段采用 进行分类CountryCIDR中国 (CN)中国香港美国日本大陆 IP 段相比较国家 IP 段,数据经过精简合并CountryCIDR中国 (CN)省级 IP 段采用 进行分类,如广东省为 440000CityCIDR北京市...
这段代码首先关闭命令提示符的回显(`@Echo off`),然后将当前日期和时间写入名为`IPList.txt`的文本文件,接着在192.168.1.1到192.168.1.100的范围内对每个IP执行`ping`命令。`ping -n 2`参数表示只发送两次ping...
- `IPList.txt` 用于将所有输出追加到IPList.txt文件中。 - `echo off`, `cls`, `Echo Finished!` 清除屏幕并显示完成提示。 - `@Echo on` 开启命令行的回显。 - `Notepad.exe IPList.txt` 使用记事本打开IPList.txt...
1. 读取`iplist.csv`中的IP地址和端口信息。 2. 对每个IP地址,使用`socket`模块尝试建立TCP连接。 3. 记录连接结果(成功/失败/超时)和其他相关信息,如响应时间。 4. 将结果写入`iplist_out.csv`。 5. 提供用户...
@echo delete iplist.txt @del iplist.txt @setlocal EnableDelayedExpansion @echo create upload iplist.... @for /L %%i in (51,1,52) do ( @echo 10.98.21.%%i>>iplist.txt ) @echo list file name..... @dir ....
需要注意的是,因为C++ DLL中的函数使用了`__cdecl`调用约定,所以在C#中也需要指定相同的调用约定。 #### 结构体数组的传递与解析 对于结构体数组的传递,我们需要创建一个结构体数组并将其转换为`IntPtr`类型,...
pscp.py 拷贝本地文件到远程机器(iplist.txt)列表的制定目录 pscp.py iplist.txt source_localfile destpath 说明: iplist.txt: 远程机器列表 source_localfile: 需要拷贝的文件 destpath: 远程目的路径 rshell.py ...
遍历指定掩码和IP地址内所有有效地址!程序简短高效!c++程序
在Nacos的源码中,服务注册涉及到`com.alibaba.nacos.naming.core.ServiceManager`和`com.alibaba.nacos.naming.iplist.PublicIpParser`等关键类。`ServiceManager`负责管理所有的服务,`PublicIpParser`则解析并...
这通常涉及到文件I/O操作,读取并解析"IPlist.txt"中的数据。C/C++中的标准库提供了读写文件的功能,例如fopen、fgets和fclose等函数。 在"test.cpp"中,我们可以看到源代码实现了这些功能。它可能包含了HTTP请求的...
由于直接在代码中声明大型的Byte数组会导致编译错误,因此我们可以选择将这些数据保存到Assets目录下的文件中,然后在运行时动态读取。下面我们将详细探讨如何实现这个过程。 首先,Android的Assets目录是一个特殊...
IPList.Free; end; end; ``` 以上代码片段展示了如何使用Indy获取本机的IPv4地址,并将它们打印出来。 在实际应用中,你可能需要根据具体需求筛选出特定类型的IP地址,比如仅显示IPv4或IPv6。这可以通过检查每个...
- `ECHO 192.168.1.%%F Timed Out >> IPList.txt`:将未使用的IP地址记录到IPList.txt文件中。 - `NOTEPAD.EXE IPList.txt`:使用记事本打开并查看IPList.txt文件。 3. **注意事项** - 在实际应用中,请根据自己...
ipList.Add(unicastAddress.Address) End If Next End If Next ``` 这段代码会遍历所有活动的网络接口,并将IPv4的单播地址添加到列表中。你可以根据实际需求,比如选择第一个或者特定的IP地址。 3. **显示...
5. **配置文件**:config.ini和iplist.ini存储了用户设置和网络连接的相关信息。config.ini可能包含了用户的个人偏好设定,如语言选择、界面布局等;iplist.ini可能保存了局域网内的联系人列表和服务器地址。 6. **...
这段脚本首先定义了一个循环,读取`iplist.txt`文件中的每一行(假设每行是一个域名)。然后,它使用`nslookup`命令查询域名的IP地址,并通过`grep`和`awk`处理输出结果,提取出IP地址并打印出来。 `iplist.txt`是...
通常,用户需要先在IPList.Config文件中定义好每个网络环境的IP配置,然后通过IPHelper.exe的界面选择相应的配置进行应用。在切换过程中,软件会自动更改选定网卡的IP地址、子网掩码、默认网关和DNS设置,确保网络...
iplist是基于列表的数据包处理程序,它使用netfilter netlink-queue库(内核2.6.14或更高版本)。 它按IP地址过滤,并针对数千个IP地址范围进行了优化。