天府星空网络科技成都网站制作公司,专业从事成都网站建设成都网页制作、成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网站设计服务。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站案例,是一家正规经营,诚实守信的专业成都网站建设公司

短消息网关通信模块的设计与实现

作者:佚名  来源:本站整理  发布时间:2008-1-4 15:02:37
规定smpp_server是客户端,需要主动发起建立连接的请求;而CMPP协议规定cmpp_server是服务器端,需等待对方连接。
Package_server是短消息网关的核心,所有的消息都要经过它,包括协议转换,超时重传,计费,路由,都需要在package_server中完成。package_server同时监听2、4、6三个队列,根据不同的消息头来判断这个消息的下一个目的地。路由表也需要在package_server中维护,以便package_server能得到路由信息,转发消息。如果路由表中找不到相关的信息,package_server就要把该消息转发给route_server,由route_server从汇接网关处获得路由信息后发送该消息。
Route_server主要处理需要转发到其他网关的消息。当package_server发现消息的目的地不是本地网关所连的SP或SMSC,那么它就会把消息转发给route_server处理。Route_server接到消息后与汇接网关通信,请求目的地的网关地址,然后与目的网关建立socket连接,交付该消息并记录前转话单。
在整个通信模块中,所有的server都使用队列接口函数mqm_init( )初始化消息队列并复接在队列上。收发数据使用mqm_send( )和mqm_recv( )函数完成。存储消息采用固定的数据结构,其结构如下:
struct mqm_connection {
unsigned int package_server_seqnum; //由网关自行产生。若消息从队列4中来,该元素将是转化后的CMPP协议格式的消息序列号;若消息从队列2中来,该元素将是转化后的SMPP协议格式的消息序列号。
short mqm_sockfd; //接收该消息的socket;
short mqm_seqnum; //收到的消息序列号;
time_t mqm_timeout; //收到该消息的时间;
int total_length; //该消息的长度;
char   mqm_buf[MAX_PACKET_SIZE]; //该消息的内容;
char converted_buf[MAX_PACKET_SIZE]; //转换协议后的消息内容;
};
现以MO请求业务为例,描述通信模块的工作流程。

上一页  [1] [2] [3] [4] [5]  下一页

【公司简介】:
   天府星空网络科技成都网站制作公司,专业从事成都网站建设 成都网页制作 成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网页设计服务。
   公司始终以不懈的努力、更高的目标来要求自己。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站成功案例,是正规的成都网站建设公司
   成都网站建设的专业服务商,强大的成都网页制作技术团队,在网站设计等方面始终保持领先地位,并获得了网页制作公司业界的广泛赞誉和认同。公司重视网页制作质量,打造成都地区网站制作公司知名品牌,以优秀的网站设计技术,创一流的成都网站建设作品。建网站就找天府星空,助您马到成功!