sccket服务器信息获取,websocket断线后重新new了地址,ws.onmessage没有数据
// websocket.js
export function initWebsocket(user = {}, userType) {
socketurl = "ws://" + WEBSOKET_URL + "//"
ws = new WebSocket(socketurl);
ws.onopen = function (evt) {
wsReadyState = evt.currentTarget.readyState;
if (wsReadyState == 1) {
//连接好了之后
wsPromise = new Promise((resolve, reject) => {
resolve();
})
wsPromise.then((data) => {
let wsMsgListCopy = [
...wsMsgList
];
wsMsgListCopy.forEach((msg) => {
ws.send(JSON.stringify(msg));
wsMsgList.shift();
})
})
initEventHandle();
}
};
return ws;
}
export function sendMsgByWebsccket(msg, toast, ) {
//发送信息时调用
ws.send(JSON.stringify(msg));
}
function createWebSocket(url) {
try {
ws = new WebSocket(url);
initEventHandle();
} catch (e) {
reconnect(url);
}
}
function initEventHandle() {
ws.onclose = function () {
reconnect(socketurl);
};
ws.onerror = function () {
reconnect(socketurl);
};
}
function reconnect(url) {
if (lockReconnect) return;
lockReconnect = true;
setTimeout(function () {
createWebSocket(url);
lockReconnect = false;
}, 2000);
}
const heartCheck = {
timeout: 10000,
serverTimeoutObj: null,
reset: function () {
clearTimeout(this.serverTimeoutObj);
return this;
},
start: function () {
const self = this;
self.serverTimeoutObj = setTimeout(function () {
ws.close();
createWebSocket(socketurl);
}, self.timeout)
}
}
// index.js
import { initWebsocket } from '../websocket'
componentDidMount() {
console.log('接收数据');
const self = this;
self.ws = initWebsocket(curUser, USER_TYPE);
self.ws.onmessage = (event) => {
const arg = JSON.parse(event.data);
//处理接收的数据
}
}
sccket服务器信息获取,websocket断线后重新new了地址,ws.onmessage没有数据相关推荐
- 网狐app端获取服务器信息,获取服务器信息 网狐客户端
获取服务器信息 网狐客户端 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 帐户 ...
- 手机显示获取服务器信息,获取手机服务器
获取手机服务器 内容精选 换一换 接口名称InstallApkInstallApk功能描述在云手机中安装apk.系统会将指定的apk文件下载后直接安装到云手机中.一次只支持安装一个apk.该接口为异步 ...
- samp服务器信息获取,手把手教你写一个简单的服务器
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //第八步,玩家杀人得分得金钱,死亡扣分扣金钱 public OnPlayerDeath(playerid, killerid, reason)//玩家被 ...
- 酷q服务器信息获取,酷Q获取加群QQ等级的解决方案
接口地址: http://vip.qq.com/pk/index?param=[要获取等级的QQ] 页面打开之后,接着打开页面代码 一般在第196行可以找到 var GUEST_LEVEL_INFO ...
- 水星mw310r虚拟服务器,水星MW310RE扩展成功后如何查看IP地址?
本文介绍了水星MW310RE扩展成功后,查看扩展器IP地址的方法.水星MW310RE扩展器默认管理地址为melogin.cn或192.168.1.253,但是扩展器成功后,其管理IP地址由前端主路由器 ...
- 获取微信推文的实际链接地址(包含JSON数据以及推文msg_data_id)
前提: 现在随着公众平台的要求越来越多,搜狗微信的爬虫难度越来越高,很多爬虫都没有用了,但是现在很多业务还是要用到历史推文的一些数据,其实很多数据(阅读量.点赞数.封面图片地址.标题.简介)都可以用过 ...
- 怎么获取别人服务器信息失败,获取服务器信息失败
获取服务器信息失败 内容精选 换一换 1.若希望以主席身份入会,enter_code必须传入主席密码.若希望以来宾身份入会,当会议要求来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密 ...
- 购买弹性云服务器怎么部署网站,购买后怎么部署自己的云服务器
购买后怎么部署自己的云服务器 内容精选 换一换 SSL证书对部署的服务器没有任何限制,无论是华为云或其他云厂商的服务器,还是线下云服务器.获取证书文件后,您可根据自己的需求将SSL证书部署到网站对应的 ...
- 日历服务器信息是什么,日历服务器地址怎么填
日历服务器地址怎么填 内容精选 换一换 安装完操作系统后的临时云服务器需要进行相关配置,并安装原生的XEN和KVM驱动,才能保证后续创建的云服务器正常使用.该任务指导用户完成Linux云服务器的相关配 ...
最新文章
- CentOS软/硬RAID安装方法
- Jetson Xavier NX上安装scipy报错:numpy.distutils.system_info.NotFoundError: No lapack/blas resources found
- 51单片机auxr寄存器_51—52系列单片机特殊功能寄存器一览表
- linux下c代码调用.so,Linux下C程序调用.so(动态链)的一个例子
- 利用WindowsAPI创建窗体(c++)
- 学会了selenium 模拟鼠标操作,你就可以偷懒点点点了
- D/E盘根目录出现Msdia80.dll操作;dllregisterserver调用失败错误代码0x80004005 解决
- 计算机维修管理平台软件,美萍电脑行业管理软件(电脑业务管理系统、电脑维修管理系统、组装业务、电脑装机管理软件)--管理软件,美萍是专家!...
- 学经济学有必要学python吗_重读《1844年经济学哲学手稿》还有必要吗?
- static变量与普通变量的区别
- DQ坐标轴锁相环(pll)
- Echarts图表设置x轴y轴均随滚轮滚动缩+放 区域缩放
- elasticsearch下载太慢在国内, 我把包放到了云盘上,还有kibana,logstash.有需要自取,持续更新版本
- 【操作系统----Linux】Linux作为服务器系统安装过程
- 变量定义、赋值、初始化
- js字符串转数字(数字转字符串)
- html盒模型中border的写法,【前端】盒子模型的边框样式属性和应用技巧讲解
- FPGA实现RGB转HSV的转换
- 解决pdf打印预览中遇到特殊字符,导出失败问题
- Opengl Lesson 1 心形曲线