⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dnsexploreritem.java

📁 一个agent 工具包,可以开发移动设备应用,考虑了安全措施
💻 JAVA
字号:
package SOMA.naming.domain;

import java.util.*;
import java.io.*;
import java.net.*;

import SOMA.explorer.*;
import SOMA.naming.*;

/** Voce di menu per la gestione di un {@link DomainNameService DNS}.
* @author Livio Profiri
*/
public class DNSExplorerItem extends ExplorerItem
{
  /** @serial*/
  DomainNameService dns;

  /** Costruttore. */
  public DNSExplorerItem( DomainNameService dns )
  {
    this.dns = dns;
    Syntax = "{list | put <domain> <host> <port> | del <domain> | register <host> <port> | refresh {<host> <port>} }";
  }

  /** Effettua tutte le possibili operazioni su un PNS.
  * <P>
  * Le opzioni sono:<BR>
  * {list | put "domain" "host" "port" | del "domain" | register "host" "port" | refresh {"host" "port"} }
  */
  public Object Execute( Collection Parameters, PrintStream out )
  {
    try
    {
      Iterator i = Parameters.iterator();

      if( !i.hasNext() )
        return Help();

      String Param = (String)i.next();

      if( Param.equals( "list" ) )
      {
        dns.listDomains( out );
        return dns.domains;
      }
      else if( Param.equals( "put" ) )
      {
        String domain = (String)i.next();
        String host = (String)i.next();
        String portString = (String)i.next();

        try
        {
          int port = Integer.parseInt( portString );
          DomainInfo newDI = new DomainInfo( new PlaceID( domain, "" ),
                                          InetAddress.getByName( host ),
                                          port );
          DomainInfo oldDI = dns.putDomain( newDI );
          out.println( "  Old Domain: " + oldDI );
          out.println( "  New Domain:" + newDI );

          return oldDI;
        }
        catch( Exception e )
        {
          e.printStackTrace( out );
          return null;
        }
      }
      else if( Param.equals( "del" ) )
      {
        try
        {
          PlaceID aDomainID = new PlaceID( (String)i.next() );
          DomainInfo oldDI = dns.removeDomain( aDomainID );

          out.println( "  Domain " + oldDI + " REMOVED" );
          return oldDI;
        }
        catch( Exception e )
        {
          e.printStackTrace( out );
          return null;
        }
      }
      else if( Param.equals( "register" ) )
      {
        String host = (String)i.next();
        String portString = (String)i.next();

        try
        {
          if( dns.register( InetAddress.getByName( host ), Integer.parseInt( portString ) ) )
            out.println( "  Registration COMPLETED!" );
          else
            out.println( "  Registration FAILED!" );
        }
        catch( Exception e )
        {
          e.printStackTrace( out );
        }
        return null;
      }
      else if( Param.equals( "refresh" ) )
      {
        if( i.hasNext() )
        {
          String host = (String)i.next();
          String portString = (String)i.next();

          try
          {
            if( dns.refresh( InetAddress.getByName( host ), Integer.parseInt( portString ) ) )
              out.println( "  Refresh REQUESTED" );
            else
              out.println( "  Refresh FAILED!" );
          }
          catch( UnknownHostException e )
          {
            e.printStackTrace( out );
            return null;
          }
        }
        else
        {
          if( dns.refresh() )
            out.println( "  Refresh REQUESTED" );
          else
            out.println( "  Refresh FAILED!" );
        }

        return null;
      }
    }
    catch( NoSuchElementException e )
    {
      out.println( "Wrong number of parameters" );
    }
    return null;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -