資源簡介
這部分代碼屬于一個完整的模擬QQ功能 使用eclipse開發(fā) 運用swt JFace技術(shù) 同步實現(xiàn)了界面的美化
代碼片段和文件信息
/*
*?LumaQQ?-?Java?QQ?Client
*
*?Copyright?(C)?2004?notXX
*????????????????????luma?
*
*?This?program?is?free?software;?you?can?redistribute?it?and/or?modify
*?it?under?the?terms?of?the?GNU?General?Public?License?as?published?by
*?the?Free?Software?Foundation;?either?version?2?of?the?License?or
*?(at?your?option)?any?later?version.
*
*?This?program?is?distributed?in?the?hope?that?it?will?be?useful
*?but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
*?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.?See?the
*?GNU?General?Public?License?for?more?details.
*
*?You?should?have?received?a?copy?of?the?GNU?General?Public?License
*?along?with?this?program;?if?not?write?to?the?Free?Software
*?Foundation?Inc.?59?Temple?Place?Suite?330?Boston?MA?02111-1307?USA
*/
package?edu.tsinghua.lumaqq.qq.net;
import?java.net.InetSocketAddress;
import?java.nio.ByteBuffer;
import?java.util.linkedList;
import?java.util.Queue;
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
import?edu.tsinghua.lumaqq.qq.QQ;
import?edu.tsinghua.lumaqq.qq.packets.ErrorPacket;
import?edu.tsinghua.lumaqq.qq.packets.OutPacket;
/**
?*?部分實現(xiàn)包收發(fā).
?*?
?*?@author?notxx
?*?@author?luma
?*/
abstract?class?AbstractPort?implements?IPort?INIOHandler?{
private?static?final?Log?log?=?LogFactory.getLog(AbstractPort.class);
/**?發(fā)送緩沖區(qū)?*/
protected?ByteBuffer?sendBuf;
/**?接收緩沖區(qū)?*/
protected?ByteBuffer?receiveBuf;
/**?發(fā)送隊列?*/
protected?Queue?sendQueue;
????/**?端口策略?*/
????protected?IConnectionPolicy?policy;
????/**?連接池?*/
????protected?IConnectionPool?pool;
????/**?端口名稱?*/
????protected?String?name;????
????/**?遠程地址?*/
????protected?InetSocketAddress?remoteAddress;????
????/**
?*?構(gòu)造函數(shù)
?*/
public?AbstractPort(IConnectionPolicy?policy)?{
????this.policy?=?policy;
????sendQueue?=?new?linkedList();
????sendBuf?=?ByteBuffer.allocateDirect(QQ.QQ_MAX_PACKET_SIZE);
????receiveBuf?=?ByteBuffer.allocateDirect(QQ.QQ_MAX_PACKET_SIZE);
}
public?String?getId()?{
return?policy.getConnectionId();
}
public?synchronized?void?clearSendQueue()?{
sendQueue.clear();
}
public?IConnectionPool?getPool()?{
return?pool;
}
public?void?setPool(IConnectionPool?pool)?{
this.pool?=?pool;
}
/*?(non-Javadoc)
?*?@see?edu.tsinghua.lumaqq.qq.net.IPort#add(edu.tsinghua.lumaqq.qq.packets.OutPacket)
?*/
public?synchronized?void?add(OutPacket?packet)?{
sendQueue.offer(packet);
policy.flush();
}
/*?(non-Javadoc)
?*?@see?edu.tsinghua.lumaqq.qq.IPort#isEmpty()
?*/
public?synchronized?boolean?isEmpty()?{
return?sendQueue.isEmpty();
}
/*?(non-Javadoc)
?*?@see?edu.tsinghua.lumaqq.qq.net.IPort#remove()
?*/
public?synchronized?OutPacket?remove()?{
return?sendQueue.poll();
}
????/*?(non-Javadoc)
?????*?@see?edu.tsinghua.lumaqq.qq.net.IPort#getNIOHandler()
?????*/
????public?INIOHa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-11-04?10:35??jql_net_2006\
?????文件?????????439??2010-11-05?09:31??jql_net_2006\.classpath
?????文件?????????388??2007-04-09?09:47??jql_net_2006\.project
?????目錄???????????0??2010-11-04?10:35??jql_net_2006\.settings\
?????文件??????????88??2010-11-04?10:35??jql_net_2006\.settings\org.eclipse.core.resources.prefs
?????文件?????????230??2007-04-09?09:47??jql_net_2006\AUTHORS
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\
?????文件????????1641??2007-04-09?09:47??jql_net_2006\build.xm
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\edu\
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\
?????文件????????3785??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\AbstractPort.class
?????文件????????4848??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\AbstractProxy.class
?????文件????????5169??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\HttpProxy.class
?????文件?????????421??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\INIOHandler.class
?????文件?????????650??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\IPort.class
?????文件?????????407??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\IProxy.class
?????文件????????7797??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\Porter.class
?????文件????????1179??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\PortGate$1.class
?????文件????????8568??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\PortGate.class
?????文件?????????550??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\PortGateFactory.class
?????文件????????2890??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\ProxyVerifier.class
?????文件????????6632??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\Socks5Proxy.class
?????文件????????7555??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\TCPHttpPort.class
?????文件????????7407??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\TCPPort.class
?????文件????????7565??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\TCPSocks5Port.class
?????文件????????6191??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\UDPPort.class
?????文件????????8208??2013-03-21?09:32??jql_net_2006\build\edu\tsinghua\lumaqq\qq\net\UDPSocks5Port.class
?????目錄???????????0??2013-03-21?09:32??jql_net_2006\build\me
............此處省略4891個文件信息
- 上一篇:CNKI E-learning
- 下一篇:最完整的歐姆龍PLC培訓教程合集書簽版
評論
共有 條評論