1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

websocket 连接 小调整

This commit is contained in:
程序员小墨 2023-03-22 15:28:49 +08:00
parent 6359acab42
commit de9ca02689
6 changed files with 13 additions and 114 deletions

View File

@ -258,7 +258,7 @@ window.wsUrl = 'ws://127.0.0.1:80/access/websocket/1';
#### nginx 代理配置(可选)
根据自己的实际情况来改
配置文件在 `nginx-conf` 目录下(不能直接拿来用,需要根据自己的实际情况来改
```conf
server

View File

@ -1,8 +1,8 @@
// window.wsUrl = 'ws://epp.only4.work/access/websocket/1';
window.wsUrl = 'ws://127.0.0.1:80/access/websocket/1';
window.wsUrl = 'ws://127.0.0.1:8002/access/websocket/1';
// window.wsUrl = 'ws://127.0.0.1:8000';
window.ws = null;
window.wsUrl = 'wss://epp.only4.work/access/websocket/1';
// window.wsUrl = 'ws://127.0.0.1:80/access/websocket/1';
// window.wsUrl = 'ws://127.0.0.1:8002/access/websocket/1';
window.ws = null; // WebSocket 实例对象
(function () {
if (!'WebSocket' in window) {
@ -11,7 +11,7 @@ window.ws = null;
}
function createConn() {
// 创建webscoket 对象 地址填入本地ip 端口是在搭建websocket服务器定义的端口
// 创建webscoket 对象
const ws = new WebSocket(window.wsUrl)
// 执行上面的语句之后,客户端就会与服务器进行连接
@ -44,6 +44,10 @@ window.ws = null;
ws.onclose = () => {
console.log('onclose readyState', ws.readyState)
console.log('onclose websocket连接关闭=======>')
console.log("等待 1s 尝试重新建立连接...");
setTimeout(function () {
window.ws = createConn();
}, 1000);
}
// 连接发生错误的回调方法
@ -52,8 +56,7 @@ window.ws = null;
console.log('onerror readyState', ws.readyState)
console.log('onerror 发生错误==========>', error)
}
return ws
}
createConn()
window.ws = createConn()
})()

View File

@ -1 +0,0 @@
node_modules

View File

@ -1,44 +0,0 @@
{
"name": "test-code",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "test-code",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"ws": "^8.11.0"
}
},
"node_modules/ws": {
"version": "8.11.0",
"resolved": "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
}
},
"dependencies": {
"ws": {
"version": "8.11.0",
"resolved": "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"requires": {}
}
}
}

View File

@ -1,14 +0,0 @@
{
"name": "test-code",
"version": "1.0.0",
"description": "",
"main": "websocketTest.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"ws": "^8.11.0"
}
}

View File

@ -1,45 +0,0 @@
'use strict';
const WebSocket = require('ws');
const webSocketUrl = 'ws://localhost:8002/websocket/1';
global.ws = null; // WebSocket 实例对象
/**
* 启动完毕输出配置信息
*/
console.log("Start running ...", "process.env", process.env);
function createWebSocket() {
//申请一个WebSocket对象参数是服务端地址同http协议使用http://开头一样WebSocket协议的url使用ws://开头另外安全的WebSocket协议使用wss://开头
global.ws = new WebSocket(webSocketUrl);
// 当WebSocket创建成功时触发onopen事件
global.ws.onopen = function () {
console.log("webhook is open.");
}
// 当客户端收到服务端发送的关闭连接请求时触发onclose事件
global.ws.onclose = function (e) {
console.log("webhook is close.");
console.log("未知错误被关闭,等待 1s 尝试重新建立连接...");
setTimeout(function () {
createWebSocket();
}, 1000);
}
// 如果出现连接、处理、接收、发送数据失败的时候触发onerror事件
global.ws.onerror = function (e) {
console.log(e.error);
}
// 当客户端收到服务端发来的消息时触发onmessage事件参数e.data包含server传递过来的数据
global.ws.onmessage = function (e) {
var data = JSON.parse(e.data);
console.log(data);
}
}
// 创建连接
createWebSocket();