timeserver.java
来自「java应用开发详解」· Java 代码 · 共 56 行
JAVA
56 行
import java.io.*;import java.net.*;import java.nio.*;import java.nio.channels.*;import java.nio.charset.*;import java.util.*;public class TimeServer { //设定服务端口 private static int port = 1111; //实例化一个Charset与一个CharsetEncoder private static Charset charset = Charset.forName("US-ASCII"); private static CharsetEncoder encoder = charset.newEncoder(); // 妹到一个Direct的ByteBuffer private static ByteBuffer dbuf = ByteBuffer.allocateDirect(1024); public static void main(String[] args) throws IOException { //打开一个serverSocketChannel ServerSocketChannel ssc = ServerSocketChannel.open(); //得到服务端Socket地址 InetSocketAddress isa = new InetSocketAddress(InetAddress.getLocalHost(), port); //绑定serversocket ssc.socket().bind(isa); System.out.println("server is ready."); while(true) { //默认是阻塞的 Socket so = ssc.accept(); SocketChannel sc = so.getChannel(); try { String now = new Date().toString(); sc.write(encoder.encode(CharBuffer.wrap(now + "\r\n"))); System.out.println(so.getInetAddress() + " : " + now); } finally { if (sc != null) sc.close(); } } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?