Cindy是一个强壮,可扩展,高效的异步I/O框架。支持TCP,SSL-TCP, UDP和Pipe。和他类似的有mina。
先看一个cindy的hello word,这个是我在官方的例子上做了修改,这个是最简单的了。
可以看到cindy的基本操作就是打开一个session,可以简单理解为就是一个socket,然后向这个 session发送消息。session.send("hello, world!");
,
session收到消息之后会执行SessionHandler的objectReceived。objectReceived就可以根据自己的需求自己去写了。
package net.sf.cindy.example.helloworld;
import net.sf.cindy.Session;
import net.sf.cindy.SessionHandlerAdapter;
import net.sf.cindy.decoder.SerialDecoder;
import net.sf.cindy.encoder.SerialEncoder;
import net.sf.cindy.session.nio.PipeSession;
public class HelloWorld {
public static void main(String[] args) throws Exception {
Session session = new PipeSession();
session.setPacketEncoder(new SerialEncoder());
session.setPacketDecoder(new SerialDecoder());
session.setSessionHandler(new SessionHandlerAdapter() {
public void objectReceived(Session session, Object obj)throws Exception {
System.out.println("received: " + obj);
}
});
session.start().complete();
session.send("hello, world!");
}
}
分享到:
相关推荐
1. **Java NIO基础**:Cindy是建立在Java NIO库之上的,因此首先需要了解Java NIO的基本概念,如选择器(Selector)、通道(Channel)、缓冲区(Buffer)等。理解它们如何协同工作,以及如何通过非阻塞方式处理I/O...
通过阅读源码,你可以了解到如何实现几何变换、碰撞检测、光线追踪等图形学基础算法。 Cindy库主要包括以下几个关键部分: 1. **几何数据结构**:Cindy提供了多种数据结构来表示几何对象,如点、线段、多边形等。...
cindy.jar 源码工具包
基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip ...
在深入理解Cindy源码之前,我们首先需要对异步I/O的基本概念有所了解。 异步I/O模型与传统的同步I/O模型不同,它允许应用程序在等待I/O操作完成时继续执行其他任务,而不是阻塞在一个操作上。这种方式提高了系统...
Netty、Mina、Cindy都是不错的NIO开源框架,后两者都是在Netty的基础上演化出来的。所以要学习好Java的异步通信框架,这三个都是不可多得的好材料。 本资源仅供学习和参考使用,若要进行开发,请下载相应的Jar包
JAVA源码异步IO框架CindyJAVA源码异步IO框架Cindy
5. **Cindy源码分析**:通过阅读和分析Cindy的源码,我们可以深入理解其内部工作原理,包括事件循环的实现、回调机制的调度以及如何优雅地处理并发问题。这对于提升Java并发编程和系统优化的能力非常有价值。 6. **...
在源码层面,Cindy可能采用了面向对象的设计模式,通过类和接口来封装各种IO操作和事件处理。同时,为了保持代码的可读性和可维护性,Cindy可能会遵循一定的设计原则,如单一职责原则、开闭原则等,并使用模块化设计...
1. **事件驱动**:Cindy基于事件循环(Event Loop)模型,通过监听和处理各类事件(如连接建立、数据读写、连接关闭等),实现非阻塞的I/O操作。 2. **回调机制**:用户可以注册回调函数来处理特定事件,当事件发生...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
Advanced DB Express components for easy table data handling (tcyDbxTable or TcyDbxSimpleTable), schema modifications (TcyDbxUpdateSql), reconcile handling (... and table creation (cyDbxImportDataset1)....
for easy table data handling (tcyDbxTable or TcyDbxSimpleTable), schema modifications (TcyDbxUpdateSql), reconcile handling (TcyDBXReconcileError) and table creation (cyDbxImportDataset1). ...
Cindy是一个Java异步I/O框架,提供了一个统一高效的模型,同时支持TCP、UDP以及Pipe,并能够方便的在异步和同步操作之间进行切换。目前其实现是基于Java NIO,并计划通过JNI来支持各操作系统上本身提供的异步I/O功能...
delphi 控件,优秀的界面设计工具 TcyBevel: multi colored bevels. - TcyPanel: runtime resize feature, multi colored bevels, gradient and shadow feature. - TcyAdvPanel: like TcyPanel plus wallpaper ...
《Cindy组件:全Delphi版本v3.23完整源码详解》 Cindy组件是为Delphi开发者提供的一套强大且美观的界面控件库,特别适用于那些追求个性化和高质量用户界面的项目。在"V3.23 Full Source"版本中,开发者将获得完整的...
1. **初始化Cindy实例**:创建Cindy服务实例,配置线程池等参数。 2. **注册处理器**:定义CompletionHandler或Promise,指定I/O操作完成后执行的逻辑。 3. **启动服务**:启动Cindy服务,监听指定端口。 4. **发起...
1. **简单易用**:Cindy设计简洁,API友好,使得开发者能够快速上手并进行异步编程。 2. **高性能**:通过高效的事件循环模型,Cindy能够处理大量的并发连接,适合高并发的网络应用。 3. **可扩展性**:Cindy可能...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
Netty、Mina、Cindy都是不错的NIO开源框架,后两者都是在Netty的基础上演化出来的。所以要学习好Java的异步通信框架,这三个都是不可多得的好材料。 本资源仅供学习和参考使用,若要进行开发,请下载相应的Jar包。