WEB开发网
开发学院软件开发Java 深入理解Apache Mina (3)---- 与IoHandler相... 阅读

深入理解Apache Mina (3)---- 与IoHandler相关的几个类

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: 上面给出里这个例子中的主要的代码,当先后启动服务器和客户端后,深入理解Apache Mina (3)---- 与IoHandler相关的几个类(2),服务器会在客户端连接到服务器后发送一个字符串的消息,这个消息的发送就是在IoHandler中发送的,根据价格是否合理给出相应的显示服务器接收客户度

上面给出里这个例子中的主要的代码,当先后启动服务器和客户端后,服务器会在客户端连接到服务器后发送一个字符串的消息。这个消息的发送就是在IoHandler中发送的。IoHandler在Mina中属于业务层,这里的 IoHandler更相是J2EE中的Servlet的作用,在IoHandler中你可以不用考虑底层数据的封装和转换,前提是你已经在 IoFilter中已经完成了数据的转换。这里需要提到的一个是,所谓数据的转换,是指将二进制数据转换成Java中的可用对象或者是基本类型的数据。由于网络传输中传输的都是二进制数据,这就需要有一个专门的数据转换层,就Mina中的编解码器来实现这个功能。如果使用RMI,对于这个问题应该不陌生,二进制和对象之间的转化过程其实就是对象的序列化和反序列化的过程。关于Mina中实现对象的序列化和反序列化会在后续的文档中详细介绍,在此不在赘述。

既然IoHandler是逻辑层,我们就用IoHandler实现一个简单的逻辑实现。先听一个小故事:一个淘气的小孩要去KFC买汉堡,由于KFC生意比较好,人比较多,服务员忙不过来,于是KFC专门设立了一个自动售汉堡的机器,这个机器只是一个简单的数据收发装置,(由于汉堡的价格时常变化,所以价格会实时更新,因此该机器需要和KFC的汉堡的价格服务器相连)小朋友买汉堡时只要向机器中投入硬币,机器就会查询服务器,看价格是否符合,若符合,则送给小朋友一个汉堡

,若不符合则提示小朋友钱不够,买不到这个汉堡。

上面是我自己虚构的一个小故事,我们先不管现实中的KFC是如何运作的,我们就当故事是真的了,那么现在这个小的项目分配给了我们,我们需要抽象出它的需求:

客户端要向服务器发送数据,查询价格,根据价格是否合理给出相应的显示服务器接收客户度的价格查询请求,根据服务器中存储的价格信息,返回响应的结果。

上一页  1 2 3 4  下一页

Tags:深入 理解 Apache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接