当前位置: 源码素材网 » Java教程 » 详情页

Java检测本地主机提供服务的端口

  •   时间:2019-04-12
  • 概述:socket

检测本地主机提供服务的端口,通常一台连接在网络上的主机都对外提供一定的服务,尤其是一些服务器。有时候我们需要直到本地主机提供这些服务的端口,以便在另外给给主机新增服务时需要使用不同的端口,以免冲突。本例通过编程实现了检测本地主机提供服务的端口。运行程序,就可以获得本机的提供服务的端口情况报告。

实现方法:ServerSocket 类包含所有需要用java 写到服务器上去的东西。该类有构造器、监听在特定端口连接的方法和当连接产生时返回socket 的方法。此外,它还有设置各种选项和混杂的方法如toString()。ServerSocket 类有三个构造器:

public ServerSocket(int port) throws IOException, BindException
public ServerSocket(int port, int queueLength)
throws IOException, BindException
public ServerSocket(int port, int queueLength, InetAddress bindAddress)
throws IOException

这些构造器限定了端口、等待连接请求的队列长度和绑定的网络接口。如果socket 不能被创建和绑定到被请求的端口上,此构造器抛出IOException 异常。

程序代码的编写:
1.编写useLocalPortScanner 类的基本框架,该类仅有main()方法,该方法循环访问端口,建立新的服务端口,如果在此端口已经有服务在产生异常,通过发现异常来发现主机已经提供的服务。
2.编写useLocalPortScanner 类,代码如下:

import java.net.*;
import java.io.*;
public class useLocalPortScanner
{
	//主程序
  	public static void main(String[] args)
  	{
  		//循环访问端口
    		for (int port = 1; port <= 65535; port++)
    		{
      			try
      			{
      				//建立新的服务端口
        			//如果在此端口已经有服务在产生异常
        			ServerSocket server = new ServerSocket(port);
      			}
     			catch (IOException e)
     			{
     				//输出异常报告
        			System.out.println("There is a server on port " + port + ".");
      			} 
    		} 
  	}
}

 

    相关内容:

    相关声明:

      若“Java检测本地主机提供服务的端口”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。