logo资料库

展讯平台socket使用讲解.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
展讯 mocro 平台 socket 使用常见疑问解答及接口调用示例 1. 请问一次完整的 socket 通信流程是怎样的呢? 完整的 socket 通信流程主要包括: 1)GPRS PDP 激活; 2)数据通信(通过 socket 接口收发数据); 3)GPRS PDP 去激活; PDP 激活操作类似于给 PC 接上网线,表示将终端连到网络;网络连接成功后,本 地应用通过一个或多个 socket 进行通信,来传输数据;而应用使用完毕后,应及时进 行 PDP 去激活操作,表示断开终端同网络之前的连接。 2.我应该怎样激活 GPRS PDP 呢? 如果gprs应用采用一个task来实现,方法如下(不含异常处理): 1、注册gprs消息。 SCI_RegisterMsg(MN_APP_GPRS_SERVICE, (uint8)EV_MN_APP_SET_PDP_CONTEXT_CNF_F, (uint8)(MAX_MN_APP_GPRS_EVENTS_NUM-1), SCI_NULL); 2、发起pdp激活请求。 MNGPRS_SetAndActivePdpContextEx(); 3、等待接收APP_MN_ACTIVATE_PDP_CONTEXT_CNF。 4、收到APP_MN_ACTIVATE_PDP_CONTEXT_CNF后,如果消息中result值为0,则pdp激活成 功了。 5、与网络进行数据通信。 展讯mocor平台gprs应用是在mmi task中实现的,gprs消息已经注册过了。 因此客户基于该平台开发socket通信应用时,无需重新注册gprs消息。只需发起
pdp激活请求后,在相应的应用回调中通过APP_MN_ACTIVATE_PDP_CONTEXT_CNF消息 后,判断pdp是否激活就可以了。 3.我怎么才能知道 PDP 激活成功了? 注意:MNGPRS_SetAndActivePdpContextEx 调用成功只是表明 PDP 激活请求发 送成功,并不代表 PDP 已经激活成功。 只有在应用的消息处理中收到 APP_MN_ACTIVATE_PDP_CONTEXT_CNF 后,如果消息中的 result 值为 0,则表示 PDP 激活成功。此时就可以发起 socket 连接了。 【代码示例】 LOCAL MMI_RESULT_E HandleTestPsMsg(PWND app_ptr, uint16 msg_id, DPARAM param) { ... MMI_GPRS_T *signal_ptr = (MMI_GPRS_T *)param; SCI_PASSERT(NULL != app_ptr); switch(msg_id) { case APP_MN_ACTIVATE_PDP_CONTEXT_CNF: { if(MN_GPRS_ERR_SUCCESS == signal_ptr->result) { //PDP 激活成功 ... if (MN_GPRS_ERR_TEMPORARILY_BLOCKED == signal_ptr->result || MN_GPRS_ERR_RETRYING == signal_ptr->result) //PDP 暂未激活成功,MMI 可间隔一段时间再试,重试 1~3 次 ... } else { } else { //PDP 激活失败 ...
} break; }//APP_MN_ACTIVATE_PDP_CONTEXT_CNF ... } ... ) 4. 请问 sci_sock_select 与 sci_sock_send,sci_sock_recv 之间的调用先后 关系是什么? 先调用sci_sock_select 监听到read和write事件后,再调用 sci_sock_send和sci_sock_recv进行数据的发送和接收。 sci_sock_select 的作用是可以同时监视多个 socket,如果只有一个 socket, 使用 sci_sock_select 进行接收和使用 sci_sock_recv 进行接收是等价的。 5. 常见接口的调用示例及注意事项 sci_sock_select、sci_sock_connect、sci_sock_recv、sci_parse_host、 sci_gethostbyname等常见接口的调用示例及相关问题详见下表。 接口名称 接口详解与调用示例 sci_sock_select sci_sock_connect sci_sock_recv sci_parse_host sci_gethostbyname Update (2010-3-1)
(完)
分享到:
收藏