作者ohohyeah (欧欧耶)
看板java
标题[问题] 要怎麽扫描某个网段是否有server存在?
时间Thu Jul 21 14:43:12 2011
如题
小弟目前的构想是这样
用TCP连线
client端能自动扫描某一段IP 像是192.168.0.0 ~ 192.168.0.100这样
本来是想用回圈包thread写比较快
但是似乎会死在Ioexception里面...
请问各位大大有什麽方法可以处理这样的问题....
谢谢!!
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.56.198
1F:→ james732:用socket.connect();连连看? 07/21 15:01
2F:→ ohohyeah:楼上 我用了原本的都无法连QQ 怎麽会这样 07/21 15:22
3F:→ ohohyeah:阿..可以了我忘记new Socket(); 我再试试看 谢罗!! 07/21 15:26
用了一楼的方式好像可以!!!
但是很怪
我家AP 给的IP是192.168.0.100
FOR LOOP 从100起跳 就有连到SERVER
但是从99或更前面开始 就连不到了...
有没有大大知道原因阿 感激不尽!!
int serverPort = 5050;
for (int tail = 99; tail <= 101; tail++) {
SocketAddress address = new
InetSocketAddress("192.168.0."+String.valueOf(tail), serverPort);
System.out.println( "ip : 192.168.0."+String.valueOf(tail));
// TextView01.append("ip : "+ipHead+tail+ "\n");
try{
clientsocket.connect(address) ;
Log.i("QQ", "done : "+tail );
}
catch(IOException e){
Log.i("QQ", "fail " );
}
}
※ 编辑: ohohyeah 来自: 118.165.56.198 (07/21 16:38)
4F:→ james732:如果99没有server,自然会连不到吧? 07/21 16:46
5F:→ ohohyeah:对 可是回圈跑到100的时候依然连不到... 07/21 16:56
6F:→ james732:你的 clientsocket 有重新 new 吗? 07/21 16:58
7F:→ ohohyeah:clientsocket= new Socket(); 这行加在for最下面的 07/21 17:02
8F:→ ohohyeah:话还是不行耶.... 他跑的速度变慢了 07/21 17:03
※ 编辑: ohohyeah 来自: 118.165.56.198 (07/21 17:04)
9F:→ ohohyeah:阿!!!可以了!! 我脑残放错位置 谢谢您!!! 07/21 17:05
10F:→ ohohyeah:想请问这是什麽原因造成的 07/21 17:07
11F:→ ohohyeah:这个样子实在是跑好慢啊 一个要一秒左右..有没有更快的 07/21 17:55
12F:→ james732:那你就开多执行绪,一个执行绪测试一个IP吧 07/21 18:33
13F:→ ohohyeah:可以了 谢谢您!!! 07/22 01:35