WebSocket connection to 'ws://xxxxxx/ws/' failed: Unexpected response code: 502

2023-11-11

在使用reactJs开发一个项目的时候在适配Android的时候遇到这个问题。

首先,前提是这个webscoket地址是可以使用的,并且在电脑浏览器上是可以正常的

其次,Android7.0以上的原生浏览器上是正常的(国内其他机型自带浏览器不包括,因为基本都是自己的内核)

通过错误可以知道,服务器是连上了,但是发生了错误,又部分机型可能提示的是  握手失败

错误查找是通过抓包对比请求头发现的。

Android原生浏览器上多了一个  Sec-WebSocket-Protocol: undefined

而浏览器的请求头里没有这一行

解决方式:

我使用的是 react的Sockette库,所以是在配置里加了下边红色那行,也就是协议方式

protocols: "chat",

timeout: 10e3,

maxAttempts: 10,

发送请求的时候头部里显示

Sec-WebSocket-Protocol: chat

这时候显示请求成功。

如果使用的是  WebSocket,

那么代码方式是 

var ws = new WebSocket("ws://xxxxx/ws/","chat")

这里只是我的错误方式和解决方案,对socket没有过深入研究,只停留在使用阶段,可能还有别的错误方式,暂时没时间继续跟进,之前以为是兼容性问题,耽误了很久的项目工期。

最后兼容到Android4.4+原生浏览器,因为Android4.4以下的webview并不支持websocket

参考:微信小程序WebSocket报错:Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebSocket connection to 'ws://xxxxxx/ws/' failed: Unexpected response code: 502 的相关文章

随机推荐

  • python金融数据分析

    python金融数据分析 基金数据分析 https github com memsploitable foundsDataAnalysis git 股票数据分析 大行情数据分析 https github com memsploitable
  • Cow Land (树链剖分)

    测试链接 题面 Cow Land is a special amusement park for cows where they roam around eat delicious grass and visit different cow
  • 第一篇 香橙派刷机和开发环境准备(Armbian版)

    目录 一 香橙派刷机和SSH登录 1 格式化TF卡 2 烧写系统到TF卡 3 调试串口登陆系统 4 SSH登陆系统 1 nmcli命令 2 armbian config配置菜单 3 使用Xshell以SSH方式登陆 二 OrangePi开发
  • [灵魂拷问]MySQL面试高频100问(工程师方向)

    黑客技术 点击右侧关注 了解黑客的世界 Java开发进阶 点击右侧关注 掌握进阶之路 Python开发
  • 【chatGPT】让java程序员工作效率翻10倍技巧

    本来写给我自己用来着 想着以后忘记了就分享出来 1 写枚举 对于程序员来说枚举的命名需要大写并且写枚举也是被迫的 大部分人的感受都一样啊喂 所以可以直接用chatgpt偷懒 录入关键字 例 帮我写个java枚举 xxxxx 活动兑奖状态 0
  • Redis 学习笔记(十五)Redis Cluster 集群扩容与收缩

    Redis Cluster 集群伸缩 1 伸缩原理 Redis提供了灵活的节点扩容和收缩方案 在不影响集群对外服务的情况下 可以为集群添加节点进行扩容也可以对下线节点进行缩容 我们在Redis Cluster 介绍与搭建这篇文章中搭建了一个
  • 配置maven 阿里云镜像

    镜像配置为阿里云进项下载速度快 jdk配置为1 8
  • Ubuntu下CodeBlocks的安装、配置及静态库动态库的简单使用举例

    1 从Ubuntu Software Center中搜索Code Blocks并安装 2 在第一次启动时选择GNU GCC Compiler作为默认的编译器 3 生成静态库并调用操作步骤 代码同 http blog csdn net fen
  • 使用FormData对form表单序列化

    一 FormData作用 将form表单元素的name与value进行组合 实现表单数据的序列化 异步上传二进制文件 二 创建formData对象
  • 盲源分离算法

    盲源分离在维基百科的定义 指的是从多个观测到的混合信号中分析出没有观测的原始信号 通常观测到的混合信号来自多个传感器的输出 并且传感器的输出信号独立 线性不相关 盲信号的 盲 字强调了两点 1 原始信号并不知道 2 对于信号混合的方法也不知
  • 模糊神经网络

    介绍 模糊神经网络把神经网络的学习能力引入到模糊系统中 将模糊系统的模糊化处理 模糊推理通过神经网络来表示 一般分为四层 1 输入层 2 模糊化层 3 模糊推理层 4 输出层
  • 计算机视觉 -- 图像分割

    文章目录 1 图像分割 2 FCN 2 1 语义分割 FCN Fully Convolutional Networks 2 2 FCN deconv 2 3 Unpool 2 4 拓展 DeconvNet 3 实例分割 3 1 实例分割 M
  • 思科员工离职恶意删除456个虚拟机,造成240w美元直接损失,或面临5年有期徒刑

    删库跑路一直是程序员用来业余调侃的开玩笑之举 没想到的是 近日一名叫Ramesh的思科前员工竟真的就干起了这事 目前该员工已于周三上午在圣何塞联邦法院认罪 供认非法访问了思科的AWS基础架构 并破坏了大量云计算资源 根据检察官的说明 Ram
  • C语言函数大全-- k 开头的函数

    k 开头的函数 1 kcalloc 1 1 函数说明 1 2 演示示例 2 kbhit 2 1 函数说明 2 2 演示示例 2 3 运行结果 3 keep 3 1 函数说明 3 2 演示示例 4 kernel thread 4 1 函数说明
  • LW-基于知识图谱的专利推荐系统设计与实现(分类号:TP311 单位代码:10422)观后总结

    论文的主要工作以基于知识图谱的专利推荐为主题 从研究背景和意义 国内外研究现状 用户需求分析 系统概要设计 核心算法设计 系统详细设计以及系统实现与测试等几个方面对基于知识图谱的专利推荐系统进行详细描述 第 章 绪论 1 1 背景和意义 传
  • 命悬一线小游戏

    欢迎来到程序小院 命悬一线 玩法 点击鼠标人物摆动跳跃 松开鼠标跳到方格上面 每跳一次都会有对应的分数统计 不要让人物掉下哦 开始游戏 html
  • 科大讯飞编程题 2018 课程冲突

    科大讯飞编程题 发布于 今天 16 34 1695 次浏览 0 赞 来自 我要提问 科大讯飞 2018校招 技术综合方向试卷在线考试 编程题 20 0分3 3 课程冲突 时间限制 C C 语言 2000MS 其他语言 4000MS 内存限制
  • Pycharm连接MySQL后出现不出现数据库或表,出现其他文件的问题

    在使用pycharm连接MySQL 配置完成 测试连接通过之后 还是不能显示数据库中的表 出现了许多像armscii8 bin armscii8 general ci和ascii bin等的文件 解决方法是 回到数据库设置页面 在Schem
  • .NET6 using

    在 net 6 的应用程序中 using 语句去了哪里 net 5 中 using 语句直接写在文件顶端就可以了 但是在 net 6 中 main函数被隐式的执行 文件最顶部也找不到 using 指令了 找了找其他文件 发现在obj gt
  • WebSocket connection to 'ws://xxxxxx/ws/' failed: Unexpected response code: 502

    在使用reactJs开发一个项目的时候在适配Android的时候遇到这个问题 首先 前提是这个webscoket地址是可以使用的 并且在电脑浏览器上是可以正常的 其次 Android7 0以上的原生浏览器上是正常的 国内其他机型自带浏览器不