微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > 展讯手机平台交流 > 展讯gprs联网的流程大概是怎样的

展讯gprs联网的流程大概是怎样的

时间:10-02 整理:3721RD 点击:
之前搞mtk,最近换个山头转到展讯了,发现网上关于展讯开发的资料真少。
  我在6600l上搞个下载,我是这样写的:
             //选择帐号
              MNGPRS_SetPdpContextPcoEx(
                                        MN_DUAL_SYS_1,
                                        1,//0,
                                        0,
                                        0
                                        );
       
            //请求激活
         if(ERR_MNGPRS_NO_ERR != MNGPRS_SetAndActivePdpContextEx(
            MN_DUAL_SYS_1,(uint8*)"cmwap",BROWSER_E))
       
       
        {
                test_log("-----gprs error--------");
        }
        else
        {
                test_log("--waiting for gprs rsp--------");
        }
        然后我在wap的处理函数中截获APP_MN_ACTIVATE_PDP_CONTEXT_CNF消息,我就认为gprs激活成功,然后开始socket的创建,连接,但是我发现发送数据的时候,
  
        error = sci_sock_send();总是返回0,数据发送不出去,
  
       不知是啥原因?

  有没有搞过网络部分的哥们路过帮忙分析下?

问题找到了,真是不好意思,犯的错误太低级了,我把发送缓存填充完毕后,传给send()的时候却用了接受缓存,此时接收缓存还是空的,发送结果当然是0......

我是在HandleWapPsMsg()中截获相关消息的,是否是gprs激活的过程的问题导致我后来send的时候一直是 0==send() ?

我是收到了MN_GPRS_ERR_SUCCESS == signal_ptr->result

LOCAL void ProcessGprsActiveCnf(
                                DPARAM param
                                )
{
    MMI_GPRS_T  *signal_ptr = (MMI_GPRS_T*)param;
    uint16      port = 0;
    uint32                gprs_send_count=0;
    uint32                gprs_recv_count=0;
    MN_DUAL_SYS_E dual_sys = MN_DUAL_SYS_1;
    uint8  default_setting  = 0;
    if(param==PNULL)
    {
        SCI_TRACE_MID("warning:ProcessGprsActiveCnf param PNULL!");
        return;
    }
    dual_sys = signal_ptr->dual_sys;
    SCI_TRACE_LOW("mmiwap.c:enter ProcessGprsActiveCnf() signal_ptr->result=%d", signal_ptr->result);
    if(MN_GPRS_ERR_SUCCESS == signal_ptr->result)//succ,这样才表示成功

搞了个乌龙,哈哈~~~

发现错误解决错误

恩,这个还不错!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top