?? qq.java
字號:
/** 請求密鑰類型 - 文件中轉密鑰 */
public static final byte QQ_REQUEST_FILE_AGENT_KEY = 0x4;
/** 群操作命令-創建群 */
public static final byte QQ_CLUSTER_CMD_CREATE_CLUSTER = 0x01;
/** 群操作命令-成員選項?暫時未用到 */
public static final byte QQ_CLUSTER_CMD_MEMBER_OPT = 0x02;
/** 群操作命令-修改群資料 */
public static final byte QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO = 0x03;
/** 群操作命令-得到群資料 */
public static final byte QQ_CLUSTER_CMD_GET_CLUSTER_INFO = 0x04;
/** 群操作命令-激活群 */
public static final byte QQ_CLUSTER_CMD_ACTIVATE_CLUSTER = 0x05;
/** 群操作命令-搜索群 */
public static final byte QQ_CLUSTER_CMD_SEARCH_CLUSTER = 0x06;
/** 群操作命令-加入群 */
public static final byte QQ_CLUSTER_CMD_JOIN_CLUSTER = 0x07;
/** 群操作命令-加入群的驗證消息 */
public static final byte QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH = 0x08;
/** 群操作命令-退出群 */
public static final byte QQ_CLUSTER_CMD_EXIT_CLUSTER = 0x09;
/** 群操作命令-發送群消息 */
public static final byte QQ_CLUSTER_CMD_SEND_IM = 0x0A;
/** 群操作命令-得到在線成員 */
public static final byte QQ_CLUSTER_CMD_GET_ONLINE_MEMBER = 0x0B;
/** 群操作命令-得到成員資料 */
public static final byte QQ_CLUSTER_CMD_GET_MEMBER_INFO = 0x0C;
/** 群操作命令回復-成功 */
public static final byte QQ_CLUSTER_CMD_REPLY_OK = 0x00;
/** 群操作命令回復-不存在這個群 */
public static final byte QQ_CLUSTER_CMD_REPLY_NO_SUCH_CLUSTER = 0x02;
/** 群操作命令回復-你不是該群的成員 */
public static final byte QQ_CLUSTER_CMD_REPLY_NOT_MEMBER = 0x0a;
/** 群類型常量-固定群 */
public static final byte QQ_CLUSTER_TYPE_PERMANENT = 0x01;
/** 群類型常量-臨時群 */
public static final byte QQ_CLUSTER_TYPE_TEMPORARY = 0x02;
/** 群認證類型-不需認證 */
public static final byte QQ_CLUSTER_NO_AUTH = 0x01;
/** 群認證類型-需要認證 */
public static final byte QQ_CLUSTER_NEED_AUTH = 0x02;
/** 群認證類型-拒絕任何人加入 */
public static final byte QQ_CLUSTER_NO_ADD = 0x03;
/** 群認證消息類型 - 請求加入群 */
public static final byte QQ_CLUSTER_AUTH_REQUEST = 0x01;
/** 群認證消息類型 - 同意加入群 */
public static final byte QQ_CLUSTER_AUTH_APPROVE = 0x02;
/** 群認證消息類型 - 拒絕加入群 */
public static final byte QQ_CLUSTER_AUTH_REJECT = 0x03;
/** 加入群的回復碼 - 加入成功 */
public static final byte QQ_CLUSTER_JOIN_OK = 0x01;
/** 加入群的回復碼 - 對方需要認證 */
public static final byte QQ_CLUSTER_JOIN_NEED_AUTH = 0x02;
/** 群的搜索方式 - 根據群號搜索 */
public static final byte QQ_SEARCH_CLUSTER_BY_ID = 0x01;
/** 群的搜索方式 - 搜索示范群 */
public static final byte QQ_SEARCH_DEMO_CLUSTER = 0x02;
/** 消息回復類型 - 正常回復 */
public static final byte QQ_IM_NORMAL_REPLY = 0x01;
/** 消息回復類型 - 自動回復 */
public static final byte QQ_IM_AUTO_REPLY = 0x02;
// 消息來源,主要是MessageQueue使用,和協議關系不大
/** 來自好友 */
public static final int QQ_IM_FROM_FRIEND = 0;
/** 來自系統 */
public static final int QQ_IM_FROM_SYS = 1;
/** 來自群 */
public static final int QQ_IM_FROM_CLUSTER = 2;
/** 組名操作類型 - 上傳 */
public static final byte QQ_UPLOAD_GROUP_NAME = 0x2;
/** 組名操作類型 - 下載 */
public static final byte QQ_DOWNLOAD_GROUP_NAME = 0x1;
/** 備注操作類型 - 上傳 */
public static final byte QQ_UPLOAD_FRIEND_REMARK = 0x1;
/** 備注操作類型 - 下載 */
public static final byte QQ_DOWNLOAD_FRIEND_REMARK = 0x3;
// 這兩個常量用在下載好友分組時
/** 號碼類型 - 號碼代表一個用戶 */
public static final byte QQ_ID_IS_FRIEND = 0x1;
/** 號碼類型 - 號碼是一個群 */
public static final byte QQ_ID_IS_CLUSTER = 0x4;
// 消息類型,就是ReceiveIMHeader中的類型,對于有些類型,我們做為通知來處理
// 而不是顯示在消息窗口中,比如請求加入,驗證之類的消息
/** 來自好友的消息 */
public static final char QQ_RECV_IM_TO_BUDDY = 0x0009;
/** 來自陌生人的消息 */
public static final char QQ_RECV_IM_TO_UNKNOWN = 0x000A;
/** 來自群的消息 */
public static final char QQ_RECV_IM_CLUSTER_IM = 0x0020;
/** 通知我被加入到一個群,這個群先前已經建立,我是后來被加的 */
public static final char QQ_RECV_IM_ADDED_TO_CLUSTER = 0x0021;
/** 我被踢出一個群 */
public static final char QQ_RECV_IM_DELETED_FROM_CLUSTER = 0x0022;
/** 有人請求加入群 */
public static final char QQ_RECV_IM_REQUEST_JOIN_CLUSTER = 0x0023;
/** 同意對方加入群 */
public static final char QQ_RECV_IM_APPROVE_JOIN_CLUSTER = 0x0024;
/** 拒絕對方加入群 */
public static final char QQ_RECV_IM_REJECT_JOIN_CLUSTER = 0x0025;
/** 通知我被加入到一個群,我是在群被創建的時候就被加的 */
public static final char QQ_RECV_IM_CREATE_CLUSTER = 0x0026;
/** 收到的系統消息 */
public static final char QQ_RECV_IM_SYS_MESSAGE = 0x0030;
/** 同一個QQ號在其他地方登錄,我被踢出 */
public static final char QQ_RECV_IM_KICK_OUT = 0x0001;
// 消息類型,這個類型比上面的類型又再低一級,他們基本從屬于QQ_RECV_IM_TO_BUDDY
// 所以他們是normalIMHeader中的類型
/** 普通文件消息 */
public static final char QQ_IM_NORMAL_TEXT = 0x000B;
/** 一個TCP連接請求 */
public static final char QQ_IM_TCP_REQUEST = 0x0001;
/** 接收TCP連接請求 */
public static final char QQ_IM_ACCEPT_TCP_REQUEST = 0x0003;
/** 拒絕TCP連接請求 */
public static final char QQ_IM_REJECT_TCP_REQUEST = 0x0005;
/** UDP連接請求 */
public static final char QQ_IM_UDP_REQUEST = 0x0035;
/** 接受UDP連接請求 */
public static final char QQ_IM_ACCEPT_UDP_REQUEST = 0x0037;
/** 拒絕UDP連接請求 */
public static final char QQ_IM_REJECT_UDP_REQUEST = 0x0039;
/** 通知文件傳輸端口 */
public static final char QQ_IM_NOTIFY_IP = 0x003B;
/** 請求對方主動連接 */
public static final char QQ_IM_PLEASE_CONNECT_ME = 0x003F;
/** 未知含意 */
public static final char QQ_IM_REPORT_CONNECTION_SOURCE_INFO = 0x0041;
/** 未知含意,0x0041的回復 */
public static final char QQ_IM_REPORT_CONNECTION_DEST_INFO = 0x0042;
/** 通知文件中轉服務器信息 */
public static final char QQ_IM_NOTIFY_FILE_AGENT_INFO = 0x004B;
/** 取消TCP或者UDP連接請求 */
public static final char QQ_IM_REQUEST_CANCELED = 0x0049;
// 認證類型,加一個人為好友時是否需要驗證等等
/** 不需認證 */
public static final byte QQ_AUTH_NO_AUTH = 0;
/** 需要認證 */
public static final byte QQ_AUTH_NEED_AUTH = 1;
/** 對方拒絕加好友 */
public static final byte QQ_AUTH_NO_ADD = 2;
// 這三個常量用在添加好友認證的包中,表示你是請求,或者你拒絕還是同意別人的請求
/** 通過認證 */
public static final byte QQ_MY_AUTH_APPROVE = 0x30;
/** 拒絕認證 */
public static final byte QQ_MY_AUTH_REJECT = 0x31;
/** 請求認證 */
public static final byte QQ_MY_AUTH_REQUEST = 0x32;
// 聯系方法的可見類型
/** 完全公開 */
public static final int QQ_CONTACT_OPEN = 0;
/** 僅好友可見 */
public static final int QQ_CONTACT_ONLY_FRIENDS = 1;
/** 完全保密 */
public static final int QQ_CONTACT_CLOSE = 2;
// 系統通知的類型
/** 自己被別人加為好友 */
public static final char QQ_MSG_SYS_BEING_ADDED = 1;
/** 對方請求加你為好友 */
public static final char QQ_MSG_SYS_ADD_FRIEND_REQUEST = 2;
/** 同意對方加自己為好友 */
public static final char QQ_MSG_SYS_ADD_FRIEND_APPROVED = 3;
/** 拒絕對方加自己為好友 */
public static final char QQ_MSG_SYS_ADD_FRIEND_REJECTED = 4;
/** 未知含意 */
public static final char QQ_MSG_SYS_UPDATE_HINT = 9;
// 這是搜索用戶時指定的搜索類類型,比如是查看全部在線用戶,還是自定義查找
/** 看誰在線上 */
public static final byte QQ_SEARCH_ALL = 0x31;
/** 自定義搜索 */
public static final byte QQ_SEARCH_CUSTOM = 0x30;
/* 以下為專用于文件傳輸時的常量 */
/** 中轉調度服務器 */
public static final String[] agentSchedulers = new String[] {
"218.133.40.38",
"218.133.40.36",
"219.133.40.36"
};
/** QQ文件傳送包的頭部字節長度 */
public static final int QQ_FILE_PACKET_HEADER_LENGTH = 12;
// 文件數據信息傳輸包的命令類型
/** heart beat */
public static final char QQ_FILE_CMD_HEART_BEAT = 0x0001;
/** heart beat的確認 */
public static final char QQ_FILE_CMD_HEART_BEAT_ACK = 0x0002;
/** 文件傳輸已完成 */
public static final char QQ_FILE_CMD_TRANSFER_FINISHED = 0x0003;
/** 文件操作 */
public static final char QQ_FILE_CMD_FILE_OP = 0x0007;
/** 文件操作的確認 */
public static final char QQ_FILE_CMD_FILE_OP_ACK = 0x0008;
// QQ_FILE_CMD_FILE_OP攜帶的信息類型
/** 文件基本信息 */
public static final byte QQ_FILE_BASIC_INFO = 0x1;
/** 文件數據 */
public static final byte QQ_FILE_DATA_INFO = 0x2;
/** 文件EOF */
public static final byte QQ_FILE_EOF = 0x3;
// 文件控制信息傳輸包的命令類型
/** 發送者say hello */
public static final char QQ_FILE_CMD_SENDER_SAY_HELLO = 0x0031;
/** 對發送者hello的確認 */
public static final char QQ_FILE_CMD_SENDER_SAY_HELLO_ACK = 0x0032;
/** 接收者say hello */
public static final char QQ_FILE_CMD_RECEIVER_SAY_HELLO = 0x0033;
/** 對接受者hello的確認 */
public static final char QQ_FILE_CMD_RECEIVER_SAY_HELLO_ACK = 0x0034;
/** 對通知IP的確認,即對QQ_IM_NOTIFY_IP的確認 */
public static final char QQ_FILE_CMD_NOTIFY_IP_ACK = 0x003C;
/** 試探連接 */
public static final char QQ_FILE_CMD_TEST_CONNECTION = 0x003D;
/** 試探連接的確認 */
public static final char QQ_FILE_CMD_TEST_CONNECTION_ACK = 0x003E;
/** 主動連接對方 */
public static final char QQ_FILE_CMD_NOTIFY_NAT_PORT = 0x0040;
// 請求傳送文件消息中的一個標志字節,0x65后面的那個,意思不明,姑且這樣
/** UDP,可能不是這意思 */
public static final byte QQ_TRANSFER_FILE_UDP = 0;
/** 直接UDP,可能不是這意思 */
public static final byte QQ_TRANSFER_FILE_DIRECT_UDP = 1;
/** TCP,可能不是這意思 */
public static final byte QQ_TRANSFER_FILE_TCP = 2;
/** 直接TCP,可能不是這意思 */
public static final byte QQ_TRANSFER_FILE_DIRECT_TCP = 3;
// 傳送文件的各種情況,每種情況有其對應的連接策略,這個和協議無關,我自己定義的
/** 雙方位于同一個防火墻后 */
public static final int QQ_SAME_LAN = 0;
/** 雙方都不在防火墻后 */
public static final int QQ_NONE_BEHIND_FIREWALL = 1;
/** 我在防火墻后 */
public static final int QQ_I_AM_BEHIND_FIREWALL = 2;
/** 他在防火墻后 */
public static final int QQ_HE_IS_BEHIND_FIREWALL = 3;
/** 雙方在不同的防火墻后 */
public static final int QQ_ALL_BEHIND_FIREWALL = 4;
// say hello時的hello byte,不同的情況這個字節不一樣
/** 雙方位于同一個防火墻后的Hello */
public static final byte QQ_SAME_IN_TO_SAME_IN_HELLO = 0;
/** 一個人在防火墻后,內部的人是發送方時的Hello */
public static final byte QQ_IN_TO_OUT_HELLO = 1;
/** 一個人在防火墻后,外部的人是發送方時的Hello */
public static final byte QQ_OUT_TO_IN_HELLO = 2;
/** 兩個都不在防火墻內時的Hello */
public static final byte QQ_OUT_TO_OUT_HELLO = 0;
/** 最大的做MD5的長度,當傳送一個文件時,如果這個文件很大,則只對文件的前面一部分做MD5 */
public static final int QQ_MAX_FILE_MD5_LENGTH = 10002432;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -