一段简单的模拟服务器的代码(Selector)
生活随笔
收集整理的這篇文章主要介紹了
一段简单的模拟服务器的代码(Selector)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
public static void main(String[] args) throws Exception{int ports[]={8000,8001,8002,8003,8004};Selector selector = Selector.open();for(int i=0;i<ports.length;i++){ServerSocketChannel initSer = null;initSer = ServerSocketChannel.open();initSer.configureBlocking(false);ServerSocket initSock = initSer.socket();InetSocketAddress address = null;address = new InetSocketAddress(ports[i]);initSock.bind(address);initSer.register(selector,SelectionKey.OP_ACCEPT);System.out.println("服務器運行,在"+ports[i]+"端口監聽。");}while((selector.select())>0){Set<SelectionKey> selectedKeys = selector.selectedKeys();Iterator<SelectionKey> iter = selectedKeys.iterator();while(iter.hasNext()){SelectionKey key = iter.next();if(key.isAcceptable()){ServerSocketChannel server = (ServerSocketChannel)key.channel();SocketChannel client = server.accept();client.configureBlocking(false);ByteBuffer outBuf = ByteBuffer.allocate(1024);outBuf.put(("當前的時間為:"+new Date()).getBytes());outBuf.flip();client.write(outBuf);client.write(outBuf);client.close();}}}轉載于:https://my.oschina.net/liangxiao/blog/126544
總結
以上是生活随笔為你收集整理的一段简单的模拟服务器的代码(Selector)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓开发环境搭建(转)
- 下一篇: 重心放在服务端