91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.6MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-14
  • 語言: 其他
  • 標簽: mina2??cs??

資源簡介

mina2 cs 客戶端服務器通信 已經實現完整通信代碼

資源截圖

代碼片段和文件信息

package?com.minaqq.charset;

import?java.nio.ByteOrder;
import?java.nio.charset.Charset;

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;

import?com.minaqq.domain.MsgPack;
/**
?*?@see?協議解碼
?*?@author?Herman.Xiong
?*?@date?2014年6月11日?16:47:24
?*/
public?class?MsgProtocolDecoder?extends?CumulativeProtocolDecoder??{??
????private?Charset?charset=null;??
??
????public?MsgProtocolDecoder()?{??
????????this(Charset.defaultCharset());??
????}??
????
????public?MsgProtocolDecoder(Charset?charset)?{??
????????this.charset?=?charset;??
????}
????
/*public?void?decode1(IoSession?is?IoBuffer?buf?ProtocolDecoderOutput?out)
throws?Exception?{
buf.order(ByteOrder.LITTLE_ENDIAN);
MsgPack?mp=new?MsgPack();
//獲取消息的內容長度
mp.setMsgLength(buf.getInt());
//獲取消息的功能函數
mp.setMsgMethod(buf.getInt());
byte[]?msg=new?byte[mp.getMsgLength()];
buf.get(msg);
mp.setMsgPack(new?String(msgcharset));
buf.flip();
out.write(mp);
}
*/
public?void?dispose(IoSession?arg0)?throws?Exception?{

}

public?void?finishDecode(IoSession?arg0?ProtocolDecoderOutput?arg1)
throws?Exception?{

}



protected?boolean?doDecode(IoSession?session?IoBuffer?ioBuffer?ProtocolDecoderOutput?out)?throws?Exception?{
ioBuffer.order(ByteOrder.LITTLE_ENDIAN);?
//接收到的數據一點一點的存進緩沖區,
//ioBuffer.capacity的容量是根據接收的數據自動增長的
MsgPack?mp?=?(MsgPack)?session.getAttribute(“nac-msg-pack“);?//?從session對象中獲取“xhs-upload”屬性值?
//System.out.println(“**********doDecode1*****“+ioBuffer.toString());
//System.out.println(“1*****************“+ioBuffer.remaining()+“**“+ioBuffer.capacity());
if(null==mp){

?if?(ioBuffer.remaining()?>=?8)?{
?//取消息體長度
?int?msgLength?=?ioBuffer.getInt();?
?int?msgMethod?=?ioBuffer.getInt();
?mp=new?MsgPack();
?mp.setMsgLength(msgLength);
?mp.setMsgMethod(msgMethod);
//?System.out.println(“2*****************“+ioBuffer.remaining()+“***“+mp.getMsgLength());
?session.setAttribute(“nac-msg-pack“mp);
?return?true;
?}
?//System.out.println(“aaaaaaaaaaaa“);
?return?false;
}
//當緩沖區除去前八個字節剩余的字節大于或等于本條消息的長度時就取出否則就反復回調此方法,直到長度夠解碼
????//如果本次解碼成功,就自動清空本消息占得緩存
//當你認為讀取到的數據已經夠本次消息解碼了,也就是夠本次消息的長度,那么就返回true,否則就返回false
if(ioBuffer.remaining()>=mp.getMsgLength()){
//System.out.println(“3*****************“+ioBuffer.remaining()+“***“+mp.getMsgLength());
byte?[]?msgPack=new?byte[mp.getMsgLength()];
//從緩沖區讀取mp.getMsgLength()個字節的數據填充進數組?
ioBuffer.get(msgPack);
mp.setMsgPack(new?String(msgPackcharset));
//System.out.println(“**********doDecode3*****“+mp.toString());
session.removeAttribute(“nac-msg-pack“);
out.write(mp);
return?true;
}
?//System.out.println(“aaaaaaaaaaaa1“);
return?false;
}???

}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2139??2014-06-09?16:20??MINA2\.classpath

?????文件????????383??2013-11-26?10:56??MINA2\.project

?????文件?????????88??2014-06-09?11:42??MINA2\.settings\org.eclipse.core.resources.prefs

?????文件????????629??2013-11-26?10:56??MINA2\.settings\org.eclipse.jdt.core.prefs

?????文件???????2689??2015-05-31?12:58??MINA2\bin\com\minaqq\charset\MsgProtocolDecoder.class

?????文件???????2117??2015-05-31?12:58??MINA2\bin\com\minaqq\charset\MsgProtocolEncoder.class

?????文件???????2914??2015-05-31?12:58??MINA2\bin\com\minaqq\client\ClientMsgProtocol.class

?????文件???????1957??2015-05-31?12:58??MINA2\bin\com\minaqq\client\TimeClientHandler.class

?????文件???????1539??2015-05-31?12:58??MINA2\bin\com\minaqq\domain\MsgPack.class

?????文件???????1198??2015-05-31?12:58??MINA2\bin\com\minaqq\protocol\MsgProtocol.class

?????文件???????1866??2015-05-31?12:58??MINA2\bin\com\minaqq\server\KeepAliveMessageFactoryImpl.class

?????文件???????1763??2015-05-31?12:58??MINA2\bin\com\minaqq\server\KeepAliveRequestTimeoutHandlerImpl$1.class

?????文件???????1586??2015-05-31?12:58??MINA2\bin\com\minaqq\server\KeepAliveRequestTimeoutHandlerImpl.class

?????文件???????1618??2015-05-31?12:58??MINA2\bin\com\minaqq\server\ServerMessageHandler$1.class

?????文件???????3305??2015-05-31?12:58??MINA2\bin\com\minaqq\server\ServerMessageHandler.class

?????文件???????3622??2015-05-31?12:58??MINA2\bin\com\minaqq\server\ServerMsgProtocol.class

?????文件????????864??2015-05-31?12:58??MINA2\bin\com\minaqq\test\MsgClientTest.class

?????文件????????889??2015-05-31?12:58??MINA2\bin\com\minaqq\test\MsgServerTest.class

?????文件???????1528??2015-05-31?12:58??MINA2\bin\com\minaqq\utils\xmlUtils.class

?????文件???????1478??2015-05-31?12:58??MINA2\bin\com\minaqq\worker\ClientSendMsgThread.class

?????文件???????2362??2015-05-31?12:58??MINA2\bin\com\minaqq\worker\ServerSendMsgThread.class

?????文件???????2429??2013-12-05?16:28??MINA2\bin\log4j.properties

?????文件?????284220??2014-06-09?11:57??MINA2\lib\commons-lang-2.6.jar

?????文件??????31605??2014-06-09?11:57??MINA2\lib\commons-logging-1.0.3.jar

?????文件?????614203??2014-06-09?11:57??MINA2\lib\javassist-3.11.0.GA.jar

?????文件?????544021??2014-06-09?11:57??MINA2\lib\javassist-3.7.ga.jar

?????文件??????17289??2014-06-09?11:57??MINA2\lib\jcl-over-slf4j-1.6.6.jar

?????文件??????69578??2014-06-09?11:57??MINA2\lib\jzlib-1.1.1.jar

?????文件?????644783??2014-06-09?11:56??MINA2\lib\mina-core-2.0.7.jar

?????文件?????142581??2014-06-09?11:56??MINA2\lib\mina-example-2.0.7.jar

............此處省略62個文件信息

評論

共有 條評論