timequery.java

来自「java应用开发详解」· Java 代码 · 共 70 行

JAVA
70
字号
import java.io.*;import java.net.*;import java.nio.*;import java.nio.channels.*;import java.nio.charset.*;public class TimeQuery {	private static int port = 1111;	private static Charset charset = Charset.forName("US-ASCII");	private static CharsetDecoder decoder = charset.newDecoder();	private static ByteBuffer dbuf = ByteBuffer.allocateDirect(1024);	private static void query(String host) throws IOException 	{		InetSocketAddress isa = new InetSocketAddress(InetAddress.getByName(host), port);		SocketChannel sc = null;		try 		{	    		//生成一个SocketChannel	    		sc = SocketChannel.open();	    		//建立连接	    		sc.connect(isa);	    		dbuf.clear();	    		sc.read(dbuf);	    		dbuf.flip();	    		//打印当前时间	    		CharBuffer cb = decoder.decode(dbuf);	    		System.out.print(isa + " : " + cb);		} 		finally 		{	    		if (sc != null)			sc.close();		}    	}    	public static void main(String[] args)     	{		if (args.length < 1) 		{	    		System.err.println("Usage: java TimeQuery  host...");	    		return;		}			int start = 0;		for (int i = start; i < args.length; i++) 		{	    		String host = args[i];	    		try 	    		{				query(host);	    		} 	    		catch (IOException e) 	    		{				e.printStackTrace();	    		}		}    	}}

⌨️ 快捷键说明

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