有这么多nio框架了,为什么要another?重复造轮 子也罢,这框架脱胎于一个服务器项目的网络层代码,期间参考了cindy、grizzly等nio框架的实现,加上自己的一些心得体会实现的。特点是简 单、小巧、超轻量级。项目没有多大野心,目标是高效、简单地实现非阻塞模式的Server和Client(包括UDP和TCP)并且保证不错的性能要求, 不提供阻塞模式。如果你的项目需要实现一个socket server/client并且不希望用太重量级的框架,yanf4j是个不错的选择。目前仅支持 jdk>=6.0 ,毕竟nio在>=6.0以上版本的jdk中有最好的表现。
示例代码:时间服务器
import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date;
import com.google.code.yanf4j.nio.Session; import com.google.code.yanf4j.nio.impl.HandlerAdapter;
public class TimeHandler extends HandlerAdapter{
@Override public void onSessionStarted(Session session) { Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd HH🇲🇲ss”); session.asyncWrite(dateFormat.format(date)); session.flush(); session.close();
} }