yanf4j引入了客户端非阻塞API2011-06-12 BlogJava dennisyanf4j发布一个0.50-beta2版本,这个版本最重要的改进就是引入了客户端 连接非阻塞API,主要最近的工作要用到,所以添加了。两个核心类 TCPConnectorController和UDPConnectorController分别用于TCP和UDP的客户端 连接控制。例如,现在的UDP echo client可以写成:
//客户端echo handler class EchoClientHandler extends HandlerAdapter {public void onReceive(Session udpSession, Object t) {DatagramPacket datagramPacket = (DatagramPacket) t;System.out.println("recv:" + new String(datagramPacket.getData()));}@Overridepublic void onMessageSent(Session session, Object t) {System.out.println("send:" + new String((byte[]) t));}} //连接代码,并发送UDP包UDPConnectorController connector = new UDPConnectorController();connector.setSoTimeout(1000);connector.setHandler(new EchoClientHandler());connector.connect(new InetSocketAddress(InetAddress.getByName(host),port));for (int i = 0; i < 10000; i++) {String s = "hello " + i;DatagramPacket packet = new DatagramPacket(s.getBytes(), s.length());connector.send(packet);}