如果你是因为程序出错,端口又被占用。可以这样查杀占用端口的进程。。。
netstat -na -o 找到占用1234端口的进程号
taskkill /pid 进程号
这样就可以杀死那个进程了····
如果是要在程序中控制的话,用close方法,然后把那个serverSocket置为null应该就可以了吧。。。
而且楼上说得对,你的程序本来就有问题,serverSocket 的实例话就不应该也在循环里面,估计你是接受到一个客户端以后,new 一个serverSocket ,继续绑定1234端口报错,所以才来提问的。这个是你程序的问题,并不需要去杀死那个什么线程。。。
直接上代码:
import javanetSocket;import javatextSimpleDateFormat;
import javautilDate;
public class PortScanner extends Thread {
private int[] p;
Socket ss = null;
public PortScanner(int[] p) {
thisp = p;
}
public static void main(String[] args) {
for (int i = 0; i < 65535; i = i + 100) {
new PortScanner(new int[] { i + 1, i + 100 })start();
}
}
@Override
public void run() {
for (int i = p[0]; i < p[1]; i++) {
try {
ss = new Socket("8888", i);
Systemoutprintln("扫描到端口: " + i);
} catch (Exception e) {
// Systemoutprintln("关闭端口: " + i);
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)