📄 timeserver2.java
字号:
import java.io.*;import java.nio.*;import java.nio.channels.*;import java.nio.channels.spi.*;import java.net.*;import java.util.*;public class TimeServer2 { private static int port = 1111; public static void main(String[] args) { try { // 创建一个selector Selector acceptSelector = SelectorProvider.provider().openSelector(); // 创建一个非阻塞的ServerSocketChannel ServerSocketChannel ssc = ServerSocketChannel.open(); ssc.configureBlocking(false); // 绑定服务 InetAddress lh = InetAddress.getLocalHost(); InetSocketAddress isa = new InetSocketAddress(lh, port); ssc.socket().bind(isa); //向Selector注册 SelectionKey acceptKey = ssc.register(acceptSelector, SelectionKey.OP_ACCEPT); int keysAdded = 0; while ((keysAdded = acceptSelector.select()) > 0) { Set readyKeys = acceptSelector.selectedKeys(); Iterator i = readyKeys.iterator(); while (i.hasNext()) { SelectionKey sk = (SelectionKey)i.next(); i.remove(); ServerSocketChannel nextReady = (ServerSocketChannel)sk.channel(); //得到socket Socket s = nextReady.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(), true); Date now = new Date(); //输入时间 out.println(now); out.close(); } } } catch(Exception e) { e.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -