照着书上打的也出错
晕死
大家帮忙看看,哪里出错/**
*
*/
package les2;import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;/**
* 判断1到1024端口是否有服务器程序监听
*
* @author Administrator
*
*/
public class PortScanner
{ /**
* @param args
* 可以传入一个主机名
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub String host = "localhost"; if (args.length != 0)
{
host = args[0];
} PortScanner ps = new PortScanner(); ps.scan(host);
} /**
* 扫描端口
*
* @param host
* 主机
*/
public void scan(String host)
{
Socket socket = null;
int port = 0; for (int i = 8000; i <= 8080; i++)
{
port = i; try
{
socket = new Socket(host, port); System.out.println("端口 :" + port + " 有服务器监听!");
} catch (UnknownHostException e)
{
// TODO Auto-generated catch block System.out.println("没有找到主机:" + host);
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block System.out.println("出错啦!");
e.printStackTrace();
} finally
{
if (socket != null)
{
try
{
socket.close();
} catch (IOException e)
{
// TODO Auto-generated catch block System.out.println("出错啦!");
e.printStackTrace();
}
}
}
}
}
}
错误信息
出错啦!
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at les2.PortScanner.scan(PortScanner.java:56)
at les2.PortScanner.main(PortScanner.java:36)
晕死
大家帮忙看看,哪里出错/**
*
*/
package les2;import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;/**
* 判断1到1024端口是否有服务器程序监听
*
* @author Administrator
*
*/
public class PortScanner
{ /**
* @param args
* 可以传入一个主机名
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub String host = "localhost"; if (args.length != 0)
{
host = args[0];
} PortScanner ps = new PortScanner(); ps.scan(host);
} /**
* 扫描端口
*
* @param host
* 主机
*/
public void scan(String host)
{
Socket socket = null;
int port = 0; for (int i = 8000; i <= 8080; i++)
{
port = i; try
{
socket = new Socket(host, port); System.out.println("端口 :" + port + " 有服务器监听!");
} catch (UnknownHostException e)
{
// TODO Auto-generated catch block System.out.println("没有找到主机:" + host);
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block System.out.println("出错啦!");
e.printStackTrace();
} finally
{
if (socket != null)
{
try
{
socket.close();
} catch (IOException e)
{
// TODO Auto-generated catch block System.out.println("出错啦!");
e.printStackTrace();
}
}
}
}
}
}
错误信息
出错啦!
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at les2.PortScanner.scan(PortScanner.java:56)
at les2.PortScanner.main(PortScanner.java:36)
“运行”--》“cmd”--》“netstat an”
package com.test;
import java.io.IOException;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;public class PortScanner
{ public static void main(String[] args)
{
//String host = "localhost";
PortScanner ps = new PortScanner();
ps.scan("localhost");
}
public void scan(String host)
{
ServerSocket socket = null;
int port = 0;
for(int i = 0 ; i<8080; i ++) {
try {
socket = new ServerSocket(5037);
} catch (UnknownHostException e) {
System.out.println("没有找到主机:" + host);
e.printStackTrace();
} catch (BindException e) {
System.out.println("端口 :" + i + " 有服务器监听!");
} catch (IOException e) {
// TODO Auto-generated catch block e.printStackTrace();
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
System.out.println("出错啦!");
e.printStackTrace();
}
}
}
}
}
}
上面代码中的一处错误,
将socket = new ServerSocket(5037);
改为socket = new ServerSocket(i);