主权项 |
一种移动终端协议栈的消息处理方法,其特征在于:包括为消息申请内存空间并初始化标记、对消息进行编码、对消息进行解码和传递消息;所述的为消息申请内存空间并初始化标记中,若要发送一条消息,首先应为它申请一块内存空间,所述消息包含消息结构体、消息类型和信令三个区域,所述消息结构体包含标记1、标记2和标记3,其中标记1指向消息类型的真实位置,标志2指向消息承载的信令的结束位置,标记3始终指向消息类型和信令的分界位置,申请内存空间之后,初始化标记,,将三个标记同时指向消息类型和信令的分界位置;所述的对消息进行编码中,将消息类型和信令放入消息内,如果只需要消息类型不需要信令,则不编码信令;其编码过程如下:首先,将消息类型放入消息中的消息类型区域,再将标记1向前移动相应消息类型的大小,同时该操作返回标记1移动之后的位置;然后,将承载的信令放入消息中的信令区域,再将标记2后移写入信令长度的大小,标记2的位置也就是信令的尾部,同时这一操作返回标记2后移之后的位置;所述的对消息进行编码中,通过标记1找到消息类型,通过消息类型来判断这个消息在通信流程中的功能以及消息中可能包含的信令;所述的传递消息中,如果接收层是消息中承载的信令的目的层,就可以通过标记3来找到信令;如果接收层不是消息中承载的信令的目的层,则接收层需要将消息类型从消息中取出来,然后将标记1向后移动取出消息类型的长度,再通过编码操作将新的消息类型放进消息中,组成新的消息,再将新的消息发送到下一个接收层,直到到达消息中所承载的信令的目的层为止。 |