问题:
同样的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
与...