自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

佳颖的专栏

帮助他人,实现自我价值

  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 MINA源码分析---学习mina中整数和网络字节的转换处理

主要学习网络字节和计算机上表示的整数之间相互转换以及和小端字节序的转换package org.apache.mina.proxy.utils;import java.io.UnsupportedEncodingException;/** * ByteUtilities.java - Byte manipulation functions. * @since MINA 2.0.0

2014-12-15 20:28:28 1372

原创 MINA源码分析---可移植的操作系统分界符(换行符)

package org.apache.mina.filter.codec.textline;import java.io.ByteArrayOutputStream;import java.io.PrintWriter;/** * A delimiter分界符 which is appended to the end of a text line, such as * CR/LF.

2014-12-10 15:58:25 1252

原创 MINA源码分析---协议编码解码器工厂ProtocolCodecFactory接口

1、具体的解码器,编码器需要自己根据协议实现2、实现协议编码解码器工厂ProtocolCodecFactory接口,在里面主要的工作就是创建解码器,编码器实例,并且返回实例下面贴出三个接口的源码,读者只需要实现这三个接口即可package org.apache.mina.filter.codec;import org.apache.mina.core.session.IoSess

2014-12-07 16:52:50 4224

原创 MINA源码分析---协议编码解码过滤器ProtocolCodecFilter

协议数据 1、对输出的数据进行编码,把消息对象转换成二进制字节流 2、对收到的数据进行解码   过滤器ProtocolCodecFilter,对应的两个最重要的方法分别是1、先对数据进行编码,再发送 filterWrite(NextFilter nextFilter, IoSession session,            WriteRequest writeRequest

2014-12-07 16:40:31 7012

原创 MINA源码分析---协议编码输出接口ProtocolEncoderOutput及其实现

下面是协议编码输出接口ProtocolEncoderOutput,所有编码后的数据需要通过接口ProtocolEncoderOutput来写到会话中package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apache.mina.core.file.FileR

2014-12-07 16:06:39 2333

原创 MINA源码分析---协议解码输出接口ProtocolDecoderOutput及其实现

接口 ProtocolDecoderOutput/* */package org.apache.mina.filter.codec;import org.apache.mina.core.filterchain.IoFilter.NextFilter;import org.apache.mina.core.session.IoSession;/** * Callback for

2014-12-07 15:54:30 3108 2

原创 MINA源码分析---CumulativeProtocolDecoder协议解码器

一般用户写解码器直接继承 CumulativeProtocolDecoder 类就行啦,实现里面的doDecode方法更详细的解释在源码中在/* */package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apache.mina.core.s

2014-12-06 20:41:14 7108 3

原创 MINA源码分析---协议编码器 ProtocolEncoder

里面主要涉及  ProtocolEncoder接口,ProtocolEncoderOutput接口,AbstractProtocolEncoderOutput抽象类下面的源码应该是比较容易理解的package org.apache.mina.filter.codec;import org.apache.mina.core.buffer.IoBuffer;import org.apac

2014-12-06 12:54:01 2185

原创 MINA源码分析---ExecutorFilter线程池过滤器

源码中都加注释啦/* */package org.apache.mina.filter.executor;import java.util.EnumSet;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Exec

2014-12-05 20:12:39 2992

原创 mina源码分析---IoEvent和IoFilterEvent类及其联系和区别

IoEvent是MINA提供的IO事件或IO请求的类package org.apache.mina.core.session;import org.apache.mina.core.write.WriteRequest;/** * An I/O event or an I/O request that MINA provides. * Most users won't need

2014-12-05 20:06:04 1673

原创 MINA源码分析---处理时间分析过滤器

源码上非常清楚,不懂英语的好好学习package org.apache.mina.filter.statistic;import java.util.HashSet;import java.util.Set;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicLong;

2014-12-04 11:06:34 743

原创 MINA源码分析---心跳包过滤器KeepAliveFilter

1、源码中都加了注释了,用户所要做的就是定义自己的心跳包信息,以及判断拉收的信息是否是心跳包,封装心跳包信息2、实现KeepAliveMessageFactory接口,必要时可以继承KeepAliveFilter类,扩展功能都是可以的,也可以定义自己的心跳过滤器3、接口KeepAliveRequestTimeoutHandler中定义了几个处理获取心跳响应超时的处理,当然也可自己写处理函数

2014-12-04 10:44:37 5201

原创 MINA源码分析---对客户端设置连接间隔时间的过滤器

如果这个IP此次发起连接距离上次发起连接的时间少于规定的时间,则关闭会话,否则建立会话,可以避免同一个远程主机在短时间内发起多个连接下面是源代码,比较简单明了,不作解释了厅/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreem

2014-12-03 22:31:12 1498

原创 MINA源码分析----日志过滤器 LoggingFilter

该类继承自IoFilterAdapter,主要完成两件事1、记录事件2、再把会话事件传递到下一个过滤器中处理,最后交给IoHandler处理/* */package org.apache.mina.filter.logging;import org.apache.mina.core.filterchain.IoFilter;import org.apache.mina.c

2014-12-03 17:24:20 2439

原创 MINA源码分析----怎么设置IP限制的(防火墙)

主要涉及到以下两个类  一个是IP子网类  (IPV4)package org.apache.mina.filter.firewall;import java.net.Inet4Address;import java.net.InetAddress;/** * A IP subnet using the CIDR notation符号. 无类域内路由选择(Cla

2014-12-03 17:19:20 1542

原创 MINA源码学习---mina怎么把字符转换为16进制的

源代码如下,介个就不解释啦package org.apache.mina.core.buffer;/** * Provides utility methods to dump an {@link IoBuffer} into a hex formatted string. * * @author Apache MINA Project */class IoBufferHe

2014-12-03 17:14:21 2289

原创 epoll

epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的电平

2014-12-01 21:04:13 556

原创 MINA框架 中JAVA NIO处理主要逻辑的processor线程

/** * The main loop. This is the place in charge to poll负责轮询 the Selector, and to * process the active sessions. It's done in * - handle the newly created sessions * - */

2014-12-01 20:09:32 1473

转载 mina作为客户端断线重连

http://chwshuang.iteye.com/blog/2028951定义:这里讨论的Mina 断线重连是指使用mina作为客户端软件,连接其他提供Socket通讯服务的服务器端。Socket服务器可以是Mina提供的服务器,也可以是C++提供的服务器。       一、断线重连的方式;    1. 在创建Mina客户端时增加一个

2014-12-01 16:26:16 4058 1

转载 JAVA NIO写服务端判断客户端断开连接的方法

不过这个方法有个问题,就是   1、能侦测到客户端主动断开与服务端的连接,但是如果客户端掉线,服务端就接收不到了。。2、如果处于等待状态,就会出问题。比如说客户端的数据还没有准备好发送,这样你就已经关闭了链接。最近学习NIO,一直有个疑问,怎么知道客户端断开了连接.在上网找和试验之后发现下面的方法可以实现这个目的.我们一般会在服务端有个大的W

2014-12-01 15:59:15 13037 3

转载 java nio socketChannel read返回值代表的意思

当socketChannel为阻塞方式时(默认就是阻塞方式)read函数,不会返回0,阻塞方式的socketChannel,若没有数据可读,或者缓冲区满了,就会阻塞,直到满足读的条件,所以一般阻塞方式的read是比较简单的,不过阻塞方式的socketChannel的问题也是显而易见的。这里我结合基于NIO 写ftp服务器调试过程中碰到的问题,总结一下非阻塞场景下的read碰到的问题。注意:这里的场

2014-12-01 15:48:58 11323 4

工厂设计模式资料

详细但要工厂设计模式,并与仓储模式对比,分析其适用场合,非常适合学习,对初学者帮助很大

2015-09-20

工厂设计模式总结

详细但要工厂设计模式,并与仓储模式对比,分析其适用场合,非常适合学习,对初学者帮助很大

2015-09-20

89c51电子表程序(C语言编写)

专门针对初学嵌入式单片机的学生,对C语言编写程序是有很大提高的,所用芯片是STC89C 52

2010-11-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除