找回密码
 注册
搜索
查看: 467|回复: 1

[资料] 一个简单问题,大侠帮忙看看

[复制链接]
发表于 2009-8-4 14:00:13 | 显示全部楼层 |阅读模式
void SocketTest(U8* paBuffer)
{
    kal_uint8 val = 1;
kal_int32 nwt_acount_id = 5;
kal_int8  ret;
kal_uint8 addr[4] = {125, 91, 4, 144};
// kal_uint8 addr[4] = {10, 0, 0, 172};
sockaddr_struct server_ip_addr;
    kal_int8 socket_id;

/*初始化Soc*/
#ifndef MMI_ON_HARDWARE_P
    soc_init_win32();
#endif
/* 创建Socket */
socket_id = soc_create(PF_INET, SOCK_STREAM, 0, MOD_MMI, nwt_acount_id);
    if (socket_id >= 0)
    {
        if (soc_setsockopt(socket_id, SOC_NBIO, &val, sizeof(val)) < 0)
        {
            UCMAIL_AddDebugLog(-1, "Set socket to nonblock mode error !!");
            return;
        }
        val = SOC_READ | SOC_WRITE | SOC_CLOSE | SOC_CONNECT;
        if (soc_setsockopt(socket_id, SOC_ASYNC, &val, sizeof(val)) < 0)
        {
            UCMAIL_AddDebugLog(-1, "Set socket to nonblock mode error !!");
            return;
        }
    }
/*连接Socket*/
  server_ip_addr.addr_len = 4;
  server_ip_addr.port = 8094;
  memcpy(server_ip_addr.addr, addr, 4);
     ret = soc_connect(socket_id, &server_ip_addr);
    ret = soc_send(socket_id, "GET / HTTP/1.1\r\nHost: 125.91.4.144\r\nConnection: Close\r\n\r\n", 66, 0);
for(nwt_acount_id=0; nwt_acount_id< 0xFFFFFFF; nwt_acount_id++)
{
}
/*仅作试验,实用要加上阻塞判断与数据收取触发等*/
    if (ret == 66)
    {
  ret = soc_recv(socket_id, paBuffer, 256, 0);
    }
return;
}

之前有网友通过这段代码,在模拟器上能够联通网络。为什么我用这段代码不行呢。我调试了一下,ret始终都不为66,soc_rev也没有被执行过。
发表于 2009-8-4 19:43:40 | 显示全部楼层

关注中。

关注中。。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2025-1-24 01:36 , Processed in 0.569610 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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