當前位置:吉日网官网 - 紀念幣收藏 - 怎麽獲得QQ源代碼

怎麽獲得QQ源代碼

</b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b></b>return

(unsigned

char

*)

send_im_tail;

}

//

處理普通的

QQ

消息

void

MyQQ::qq_process_recv_normal_im(unsigned

char

*

data,

unsigned

char

**

cur

sor,

int

len)

{

int

bytes;

qq_recv_normal_im_common

*common;

qq_recv_normal_im_unprocessed

*im_unprocessed;

if

(*cursor

>=

(data

+

len

-

1))

{

return;

}

else

common

=

(qq_recv_normal_im_common

*)malloc(sizeof(qq_recv_normal_im_commo

n));

bytes

=

qq_normal_im_common_read(data,

cursor,

len,

common);

if

(bytes

<

0)

{

return;

}

switch

(common->normal_im_type)

{

case

QQ_NORMAL_IM_TEXT:

qq_process_recv_normal_im_text

(data,

cursor,

len,

common);

break;

case

QQ_NORMAL_IM_FILE_REJECT_UDP:

//qq_process_recv_file_reject

(data,

cursor,

len,

</b></b>//

common->sender_uid,

gc);

break;

case

QQ_NORMAL_IM_FILE_APPROVE_UDP:

//qq_process_recv_file_accept

(data,

cursor,

len,

//

common->sender_uid,

gc);

break;

case

QQ_NORMAL_IM_FILE_REQUEST:

//qq_process_recv_file_request

(data,

cursor,

len,

//

common->sender_uid,

gc);

break;

case

QQ_NORMAL_IM_FILE_CANCEL:

//qq_process_recv_file_cancel

(data,

cursor,

len,

//

common->sender_uid,

gc);

break;

case

QQ_NORMAL_IM_FILE_NOTIFY:

//qq_process_recv_file_notify

(data,

cursor,

len,

//

common->sender_uid,

gc);

break;

default:

return;

}

//

normal_im_type

g_free

(common->session_md5);

}

void

MyQQ::qq_process_recv_normal_im_text(unsigned

char

*

data,

unsigned

char

**

cursor,

int

len,

qq_recv_normal_im_common

*

common)

{

short

gaim_msg_type;

</b></b>char

*name;

char

*msg_with_gaim_smiley;

char

*msg_utf8_encoded;

qq_recv_normal_im_text

*im_text;

if

(*cursor

>=

(data

+

len

-

1))

{

return;

}

else

im_text

=

(qq_recv_normal_im_text

*)malloc(sizeof(qq_recv_normal_im_text));

im_text->common

=

common;

read_packet_w(data,

cursor,

len,

&(im_text->msg_seq));

read_packet_dw(data,

cursor,

len,

&(im_text->send_time));

read_packet_b(data,

cursor,

len,

&(im_text->unknown1));

read_packet_b(data,

cursor,

len,

&(im_text->sender_icon));

read_packet_data(data,

cursor,

len,

(unsigned

char

*)

&

(im_text->unknown2),

3);

read_packet_b(data,

cursor,

len,

&(im_text->is_there_font_attr));

read_packet_data(data,

cursor,

len,

(unsigned

char

*)

&

(im_text->unknown3),

4);

read_packet_b(data,

cursor,

len,

&(im_text->msg_type));

if

(im_text->msg_type

==

QQ_IM_AUTO_REPLY)

{

im_text->is_there_font_attr

=

0x00;

im_text->msg

=

(unsigned

char

*)malloc(1024);

memcpy(im_text->msg,*cursor,

data

+

len

-

*cursor);

}

else

{

if

(im_text->is_there_font_attr)

{

im_text->msg

=

(unsigned

char

*)malloc(1500);

memcpy(im_text->msg,*cursor,

strlen((const

char

*)*cursor));

</b></b>im_text->msg[strlen((const

char

*)*cursor)]

=

0;

}

else

{

im_text->msg

=

(unsigned

char

*)malloc(1024);

memcpy(im_text->msg,*cursor,

data

+

len

-

*cursor);

im_text->msg[data

+

len

-

*cursor]

=

0;

}

}

MessageText

=

im_text->msg;

//

如果需要自動回復

if(Status

==

3)

{

//I_QQAutoReply()

函數獲取預先設置的自動回復消息內容,需自己實現

char*

MText

=

I_QQAutoReply();

QQSendTextMessage(common->sender_uid,MText,0x01);

}

//

在主界面中顯示消息

//I_QQReceiveMessage((char

*)MessageText,common->sender_uid);

}

int

MyQQ::qq_normal_im_common_read(unsigned

char

*

data,

unsigned

char

**

curs

or,

int

len,

qq_recv_normal_im_common

*

common)

{

int

bytes;

bytes

=

0;

</b></b>

bytes

+=

read_packet_w(data,

cursor,

len,

&(common->sender_ver));

bytes

+=

read_packet_dw(data,

cursor,

len,

&(common->sender_uid));

bytes

+=

read_packet_dw(data,

cursor,

len,

&(common->receiver_uid));

common->session_md5

=

(unsigned

char

*)malloc(QQ_KEY_LENGTH);

memcpy(common->session_md5,*cursor,

QQ_KEY_LENGTH);

bytes

+=

QQ_KEY_LENGTH;

*cursor

+=

QQ_KEY_LENGTH;

bytes

+=

read_packet_w(data,

cursor,

len,

&(common->normal_im_type));

if

(bytes

!=

28)

{

return

-1;

}

return

bytes;

}

  • 上一篇:微博的網絡營銷策略分析
  • 下一篇:恐龍園導遊詞
  • copyright 2024吉日网官网