添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

问题: 同样的js websocket wss代码,在Android上可以,在iPhone上报错(iPhone是2021升级系统后,不行的)

onerror回调方法:{"isTrusted":true}

onclose回调方法:1006

function createWebSocket() {
if(!window.WebSocket) {
console.error("browser not support websocket");
mui.toast("当前手机不支持websocket,无法进行实时监控,请升级手机系统");
return;
}

var url = "wss://www.test.com:8443/monitor?token=123456";
console.log("create websocket " + url);
// 初始化,并连接
var ws = new WebSocket (url); // html5 api

ws.onopen = function() {
};

ws.onmessage = function(evt) {
};

ws.onerror = function(evnt) {
};

ws.onclose = function(evnt) {
};
}

1. 刚开始,怀疑是跨域,在网上也找了一些资料,在Tomcat web.xml中,添加支持跨域配置后,不行;

2. apple UIWebView  =》WKWebview,在HBuilder中,使用新的WKWebView,也不行;

https://ask.dcloud.net.cn/question/89737

3. 后来发现服务端,SSL证书过期,替换新的证书,解决问题;

TODO iPhone抓包 https ,或在Mac 释放热点上抓包

android iphone 上实现区别

https://blog.csdn.net/weixin_39364136/article/details/83585569 怎样比较HTML5 websocket api options

https://html.spec.whatwg.org/multipage/web-sockets.html

https://ask.dcloud.net.cn/article/12565

https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

https://developer.mozilla.org/zh-CN/docs/Web/API/WebSockets_API

https://html.spec.whatwg.org/multipage/web-sockets.html

https://developer.mozilla.org/zh-CN/docs/Web/API

在Node. js 中,使用最广泛的 WebSocket 模块是ws,我们创建一个hello-ws的VS Code工程,然后在package. js on中添加ws的依赖: "dependencies": { "ws": "1.1.1" Httpsocket实现 短链接 双工通道 三次握手四次挥手 websocket socket实现 双工通道 能推送(服务 可以主动向客户 推送消息) 不断开 只用http一次握手 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接 上进行全双工通讯的协议。它又是一种新的应用层协议。 全双工即双方可同时向对方发送消息 WebSocket 使得客... 否则,iOS设备将无法验证 证书 的有效性,从而无法建立 WebSocket 连接 。对于安卓设备,访问https协议的 WebSocket 通常不需要特殊处理,只需确保您的 WebSocket 服务器已正确配置,并且安卓设备可以访问该服务器即可。如果您使用的是自签名的 证书 ,则需要将 证书 添加到iOS设备的信任列表中。如果您使用的是公共SSL 证书 ,则需要确保 证书 已由受信任的 证书 颁发机构(CA)签名,并且 证书 中包含的域名与您的 WebSocket 服务器的域名匹配。2. 在iOS设备上打开 证书 文件,然后点击“安装”按钮。 xcode项目工程的info.pl ist 文件增加App Transport Security Settings(Dic)、Allow Arbitrary Loads(YES)、Exception Domains(DIc)、你服务器的域名或IP(NSExceptionMinimumTLSVersion(TLSv1.0)、NSIncludesSubdomains(YES)、NSThirdPartyExceptionRequiresForwardSecrecy(NO))别问我为什么,我也不知道为什么。 WebSocket 简介 WebSocket 是一种在单个TCP 连接 上进行全双工通信的协议 WebSocket 使得客户 和服务器之间的数据交换变得更加简单,并且允许服务 主动向客户 推送数据。(... 常规的 连接 方法 websocket () {let ws = new WebSocket ('ws://localhost:8080')ws.onopen = () => {// Web Socket 已 连接 上,使用 send() 方法发送数据ws.send('Holle')console.log('数据发送中...')}ws.onmessage = evt => {// console.... springboot内置tomcat版本问题,必须用tomcat7以上的,或者把内置tomcat去掉用外部tomcat—— 没用,不注入 Server EndpointExporter也没用。我以为被防火墙啥的拦截了,还关了防火墙、和安全软件,捣鼓了好久什么入站规则,出站规则,网络里允许iis的ws协议……这个问题,困扰了几天,竟然是这个原因。搞定的时候第一反应是松一口气又无奈,希望看博客的个位和我少遇到这样的问题。鉴权未放行 —— 没用,放行也不行。了,关了之后,就没问题了。 connect() { let that = this; let wsIp = process.env.VUE_APP_URL.split("/")[2].slice(0, -5); let wsS erver = "ws://" + wsIp + ":5888/ws"; // let wsS erver = "ws://" + "192.168.3.212" + ":5888/ws"; that. websocket = new WebSocke. HTTP协议和HTTPS协议通信过程通常是客户 通过浏览器发出一个请求,服务器接受请求后进行处理并返回结果给客户 ,客户 处理结果。 WebSocket 是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信 WebSocket 与...