找回密码
 注册
搜索
查看: 2209|回复: 8

展讯连接网络时connect返回-1,用sci_sock_errno(sock)返回19错误,请高手指点

[复制链接]
发表于 2010-11-9 17:50:29 | 显示全部楼层 |阅读模式
这个经过真机显示gprs是激活成功的,connect时提示sci_sock_errno(sock);返回19错误,不知是什么原因?
//连接测试
PUBLIC void connect_test(void)
{
        struct sci_sockaddr him;
        int sock= -1;
        int temp=0;
            char                        APN[DN_MAX_APN_LEN + 1];
        char    temp_apn[DN_MAX_APN_LEN + 1]={0};
        MN_DUAL_SYS_E                        e_dual_sys = MN_DUAL_SYS_1;
        int32 etype = 0;
   

     SCI_MEMSET(APN, 0, sizeof(APN));
         strcpy(temp_apn, "cmnet");
          MMI_MEMCPY(APN,sizeof(APN),
        temp_apn,strlen(temp_apn),
        strlen(temp_apn));
        #ifdef MMI_DUALMODE_ENABLE
    if(ERR_MNGPRS_NO_ERR != MNGPRS_SetAndActivePdpContextEx(e_dual_sys,(uint8*)APN,BROWSER_E))
#else
        if(ERR_MNGPRS_NO_ERR != MNGPRS_SetAndActivePdpContextEx(e_dual_sys,(uint8*)APN))
#endif
        {
                SCI_TRACE_LOW("deng_open GPRS FAILED1");
            busline_gprs_state = BUSLINE_GPRS_ACEIVE_FAILED;
        }
        else
        {

                SCI_TRACE_LOW("deng_open GPRS OK1");
        }
       
        SCI_Sleep(500);
       
        sock = sci_sock_socket(AF_INET, SOCK_STREAM,0);
        if(sock == -1)
        {
                SCI_TRACE_LOW("deng_build error\\n");
        }
        else
        {
               
                him.family = AF_INET;
                him.ip_addr = (10<<24)+172;       
                him.port = htons(80);
                MMK_PostMsg(BUSLINE_BUFFER_WIN_ID, MSG_CMSBRW_TCPCONNECT, (DPARAM)&etype, sizeof(int32));
                MMK_PostMsg(BUSLINE_BUFFER_WIN_ID, MSG_CMSBRW_OPENNET, (DPARAM)&etype, sizeof(int32));
                temp = sci_sock_connect(sock, &him,sizeof(struct sci_sockaddr));
                if(temp<0)
                {
                        int test1;
                        SCI_TRACE_LOW("deng_false1\\n");
                        test1 = sci_sock_errno(sock);
                        busline_recv_erro=test1;
                        SCI_TRACE_LOW("deng_1errorno:%d",test1);
                        him.ip_addr = (172<<24)+10;
                        MMK_PostMsg(BUSLINE_BUFFER_WIN_ID, MSG_CMSBRW_TCPCONNECT, (DPARAM)&etype, sizeof(int32));
                MMK_PostMsg(BUSLINE_BUFFER_WIN_ID, MSG_CMSBRW_OPENNET, (DPARAM)&etype, sizeof(int32));
                        temp = sci_sock_connect(sock, &him,sizeof(struct sci_sockaddr));
                        if(temp<0)
                        {
                                int test2;
                                SCI_TRACE_LOW("deng_false2\\n");
                                test2 = sci_sock_errno(sock);
                                busline_error_no=test2;
                                SCI_TRACE_LOW("deng_2errorno:%d",test2);
                        }
                        else
                        {
                                SCI_TRACE_LOW("deng_good1\\n");
                        }

                }
                }

}
发表于 2010-11-12 08:54:55 | 显示全部楼层

展讯联网demo

一个简单的demo参考下,可以运行
【文件名】:101112@52RD_展讯demo.txt
【格 式】:txt
【大 小】:18K
【简 介】:
【目 录】:


网络链接的demo

网络链接的demo

点评

谢谢  发表于 2014-3-19 11:39
点评回复 1 0

使用道具 举报

 楼主| 发表于 2010-11-10 16:27:54 | 显示全部楼层
咱们可以用qq聊,我的qq是975479679
点评回复

使用道具 举报

 楼主| 发表于 2010-11-10 16:25:48 | 显示全部楼层
咱们可以用qq聊,我的qq是975479679
点评回复

使用道具 举报

 楼主| 发表于 2010-11-10 16:24:35 | 显示全部楼层
我用多种方式实现ip转换方式,都出现同样的错误。inet_addr((uint8 *)("10.0.0.172")); htonl(0x779317bc); inet_aton((char *)"119.147.23.188", (unsigned long *) &(sa.ip_addr));我都试了。
点评回复

使用道具 举报

发表于 2010-11-10 08:58:44 | 显示全部楼层
很明显地址不可达,你的ip可能转换错了
点评回复

使用道具 举报

 楼主| 发表于 2010-11-13 16:58:39 | 显示全部楼层
badboy2007  谢谢你了
点评回复

使用道具 举报

发表于 2010-12-22 16:34:40 | 显示全部楼层
谢谢2007
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-5-20 10:50 , Processed in 0.056565 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表