<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    package org.upeng.mail.net.util;

    import org.apache.mina.core.buffer.IoBuffer;
    import org.apache.mina.core.session.IoSession;
    import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
    import org.apache.mina.filter.codec.ProtocolDecoderOutput;

    public class MessageDecoder extends CumulativeProtocolDecoder
    {
        
    public static final int MAX_IMAGE_SIZE = 1024 * 1024 * 5;
        
        
    private static final String DECODER_STATE_KEY = getKey();
        
        
    protected boolean doDecode(IoSession session, IoBuffer in,
                ProtocolDecoderOutput out) 
    throws Exception
        
    {
            System.out.println(
    "decode-開始");
            
            Context context 
    = (Context) session.getAttribute(DECODER_STATE_KEY);
            
    if(context == null)
            
    {
                context 
    = new Context();
                session.setAttribute(DECODER_STATE_KEY, context);
            }

            
            
    while(true)
            
    {
                
    if (in.prefixedDataAvailable(4, MAX_IMAGE_SIZE))
                
    {
                    
    int pieceLength = in.getInt();
                    
    int totalLength = in.getInt();
                    context.setTotalLength(totalLength);
                    
    byte[] bytes = new byte[pieceLength - 4];
                    in.get(bytes);
                    context.addPiece(bytes);
                    
    if (context.isComplete())
                    
    {
                        Message message 
    = new Message(context.getTotalData());
                        out.write(message);
                        session.removeAttribute(DECODER_STATE_KEY);
                        
    return true;
                    }

                }

                
    else
                
    {
                    
    return false;
                }

            }

            
    //System.out.println("decode-結束");
            
    //return false;
        }

        
        
    /**
         * <ul>
         * <li>Description:[得到鍵值]</li>
         * <li>Created by [Huyvanpull] [2011-9-5]</li>
         * <li>Midified by [modifier] [modified time]</li>
         * </ul>
         * 
         * 
    @return
         
    */

        
    private static String getKey()
        
    {
            
    return MessageDecoder.class.getName() + ".STATE";
        }

    }

    2.
    package org.upeng.mail.net.util;

    import java.util.List;

    import org.apache.mina.core.buffer.IoBuffer;
    import org.apache.mina.core.session.IoSession;
    import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
    import org.apache.mina.filter.codec.ProtocolEncoderOutput;

    public class MessageEncoder extends ProtocolEncoderAdapter
    {
        
    public void encode(IoSession session, Object message,
                ProtocolEncoderOutput out) 
    throws Exception
        
    {
            System.out.println(
    "encode-開始");
            Message msg 
    = (Message) message;
            
            IoBuffer buffer 
    = IoBuffer.allocate(1024).setAutoExpand(true);
            
            
    // 定義上下文
            Context context = new Context(msg.getDataBody());
            List
    <byte[]> pieceLst = context.getPieceLst();
            
    for (int i=0; i<pieceLst.size(); i++)
            
    {
                
    byte[] temp = pieceLst.get(i);
                buffer.putInt(temp.length 
    + 4);
                buffer.putInt(msg.getDataBody().length);
                buffer.put(temp);
            }

            buffer.flip();
            out.write(buffer);
            out.flush();
            System.out.println(
    "decode-結束");
        }

        
    }



    posted on 2011-09-05 19:17 HUIKK 閱讀(959) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲伊人久久大香线蕉在观| 亚洲人色大成年网站在线观看| 亚洲av无码专区在线观看下载| 91九色精品国产免费| 亚洲fuli在线观看| 中文字幕影片免费在线观看| 亚洲AV无码久久久久网站蜜桃 | 国产91久久久久久久免费| 亚洲女子高潮不断爆白浆| 欧洲美熟女乱又伦免费视频 | 亚洲高清中文字幕综合网| 久久精品一本到99热免费| 亚洲日本乱码一区二区在线二产线| 久久九九兔免费精品6| 亚洲乱码一区av春药高潮| 女人与禽交视频免费看| 特黄aa级毛片免费视频播放| 亚洲精品成人区在线观看| 三上悠亚电影全集免费| 久久亚洲国产精品成人AV秋霞| 中文毛片无遮挡高潮免费| 亚洲成av人片在线天堂无| 亚洲精品人成无码中文毛片| 伊人久久大香线蕉免费视频| 亚洲黄网在线观看| 大学生一级特黄的免费大片视频| 国产尤物在线视精品在亚洲| 亚洲综合伊人久久大杳蕉| 美丽的姑娘免费观看在线播放 | 亚洲熟妇无码另类久久久| 精品无码人妻一区二区免费蜜桃| 亚洲一区二区三区亚瑟| 亚洲成网777777国产精品| 污视频在线观看免费| 亚洲AV永久无码天堂影院| 久久精品亚洲男人的天堂| 曰批全过程免费视频在线观看| 看成年女人免费午夜视频| 久久久无码精品亚洲日韩按摩| 国产成人免费福利网站| 久久国产乱子伦精品免费不卡|