做的项目中,要通过手机的WIFI热点与接入该热点的设备进行通信,也就是说将一设备连接手机的热点,然后手机的app与该设备建立socket连接,然后进行数据传输。
其重点就在于获取该设备的IP地址和端口号,由于android系统中wifi热点接入的设备ip地址,端口号以及mac地址等都在根目录下的"/proc/net/arp"文件中
因此可以通过文件获得
private ArrayList<String> getConnectIp() throws Exception {
ArrayList<String> connectIpList = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4) {
String ip = splitted[0];
connectIpList.add(ip);
}
}
return connectIpList;
}
主程序中调用: