首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 通过http协议接收彩信有问题-------请教大家 [已结贴,结贴人:l1w1w1]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • l1w1w1
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-23 17:07:11 楼主
      WINCE平台,采用HTTP方式接收彩信。第一次接收不下来。
    步骤如下:

    先InternetOpen,再设立回调函数InternetSetStatusCallback。之后调用InternetConnect,HttpOpenRequest都成功之后,调用HttpSendRequest,在排除ERROR_IO_PENDING之后,用WaitForSingleObject等待超时退出。我用的是异步方式连接的。不知道是不是和HttpOpenRequest里面的标志位不同有关,里面有很多。比如
    DWORD  ADDdwFlags = INTERNET_FLAG_NO_CACHE_WRITE |
                      INTERNET_FLAG_KEEP_CONNECTION |
    INTERNET_FLAG_RELOAD |
                  INTERNET_FLAG_DONT_CACHE|
                INTERNET_FLAG_IGNORE_CERT_CN_INVALID |
              INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|
                        INTERNET_FLAG_PRAGMA_NOCACHE;
    有哪个是必须的吗?
    第一次接收失败,但是再次去接收到话可以成功。第一次失败是因为等不到回调函数里面的INTERNET_STATUS_RESPONSE_RECEIVED消息,而第二次却可以等到这个消息。

    有知道的可以说说吗?不能多给分,因为限制了。
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • l1w1w1
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 17:08:221楼 得分:0
    自己顶一下,希望可以得到大家都帮助
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjl333
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-26 15:58:562楼 得分:10
    用以上方法实现太麻烦并不可控制,不如使用传统的select异步socket方式。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • l1w1w1
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-26 18:49:543楼 得分:0
    wsp方式的已经加上了。现在要加HTTP方式的。知道的说一下,在此感谢了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • comiunknown
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-27 09:55:424楼 得分:90
    我在WAP上网方式通过http协议访问Internet上的html页面时碰到过类似的情况,用InternetOpen成功创建连接后,第一次用InternetOpenUrl访问html页面返回的是WML源代码,必须要再次用InternetOpenUrl访问才能获得正确的html源代码。我估计你的问题和WAP代理有关。

    因为彩信用的是WAP代理中转,你第一次发送HttpSendRequest后,收到的是WAP代理服务器转回给你的WML信息,这个信息中并不包括彩信的内容,它只是WAP代理服务器将你的请求转发给彩信服务器的中转回执,你要再发一次HttpSendRequest后,才能收到彩信的内容。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • l1w1w1
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-09-04 00:04:175楼 得分:0
    谢谢comiunknown 的提示和帮助,已经OK了。你说的情况有可能。要好好研究一下。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved