汐月若清 2016-05-12 06:59 采纳率: 0%
浏览 33

关于android的websocket实现消息推送

需求是:通过webview.loadUrl()加载指定网页,网页中含有

 <script>
  $(function(){

    $.ajax({
      url:"http://127.0.0.1:9091/myapp/login",
      type:"GET",
      dataType: 'jsonp',
      jsonp: 'callback',
      data: {key:'123456'},
      success: function (rsp){
        alert(rsp.code);
        if(rsp.code == 0){
          alert(rsp.code);
          window.location.href = "http://myapp.com/index.php";
        }else{
          alert(rsp.msg);
        }
      }
    });

  });
</script>

该方法会向手机的9091端口发送请求,当返回指定字符串"success"时会自动跳转到新页面。
我的做法是通过NanoHttp开启手机端口服务器,并接收到请求后解析参数拿到callback的value:mCallback,返回字符串内容被封装成 mCallback+"({"success"})",传递回去。
刚开始的做法是成功的,明显看到了页面跳转。后来在一些本来正确显示的手机上就出现了问题,比如:1. 开启服务器失败 2. 响应数据后js没有接收到

所有种种能够使用的方式都检查了一遍,如webview的原因,手机本身的问题等等,仍然没有找到原因。同时NanoHttp也是基于Socket协议搭建的服务器,中间经历了一些封装之后使请求、相应、IO流与HTTP请求一样,但为何单独使用Socket去write相同的内容却无法使js响应!

郭老师能否帮忙解答一下上面的两个问题!

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法