android 每隔2秒执行_每隔5秒Ping一次 - Android

这篇博客探讨了如何在Android应用中实现每5秒Ping一次IP地址的功能,并在接收到响应时更新列表。代码示例创建了一个线程,循环遍历IP地址范围,调用pingAddress函数检查连接,成功后通过Handler更新UI列表。
摘要由CSDN通过智能技术生成

我已经写了这个代码在端口6789上ping类c的IP地址,当我点击一个名为PING的按钮时,线程开始,它将检索所有具有端口6789打开的ip地址...但我需要的是刷新(重新ping)每个,让说5秒,并添加ips最近加入,如果存在,并省略离开端口。

我调试了几个小时,但没有希望!!!

在此先感谢:DD

Thread pingo = new Thread(new Runnable() {

public void run() {

if (readableNetmask.equals("255.255.255.0")) {

for (int i = 2; i <= 254; i++) {

String ip_address = readableIPAddress;

String oct1 = "", oct2 = "", oct3 = "", oct4 = "";

StringTokenizer stok = new StringTokenizer(

ip_address, ".");

while (stok.hasMoreTokens()) {

oct1 = stok.nextToken();

oct2 = stok.nextToken();

oct3 = stok.nextToken();

oct4 = stok.nextToken();

}

to_ping_ip = oct1 + "." + oct2 + "." + oct3 + "."

+ String.valueOf(i);

if (pingAddress(to_ping_ip, 6789)) {

handler.post(new UpdateIPListViewRunnable());

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// ips_List.add(to_ping_ip);

}

}

}

}

});

pingo.start();PingAddress()函数:

public boolean pingAddress(String ip, int port) {

Socket socket = new Socket();

try {

socket.connect(new InetSocketAddress(ip, port), 200);

socket.close();

} catch (IOException e) {

return false;

}

return true;

}列出出现地址的地方:

static public class UpdateIPListViewRunnable implements Runnable {

public void run() {

arrayAdapter.add(to_ping_ip);

arrayAdapter.notifyDataSetChanged();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值