websocket 连接 小调整
This commit is contained in:
parent
6359acab42
commit
de9ca02689
@ -258,7 +258,7 @@ window.wsUrl = 'ws://127.0.0.1:80/access/websocket/1';
|
|||||||
|
|
||||||
#### nginx 代理配置(可选)
|
#### nginx 代理配置(可选)
|
||||||
|
|
||||||
根据自己的实际情况来改
|
配置文件在 `nginx-conf` 目录下(不能直接拿来用,需要根据自己的实际情况来改)
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
server
|
server
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// window.wsUrl = 'ws://epp.only4.work/access/websocket/1';
|
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:80/access/websocket/1';
|
||||||
window.wsUrl = 'ws://127.0.0.1:8002/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.ws = null; // WebSocket 实例对象
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
if (!'WebSocket' in window) {
|
if (!'WebSocket' in window) {
|
||||||
@ -11,7 +11,7 @@ window.ws = null;
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createConn() {
|
function createConn() {
|
||||||
// 创建webscoket 对象 地址填入本地ip 端口是在搭建websocket服务器定义的端口
|
// 创建webscoket 对象
|
||||||
const ws = new WebSocket(window.wsUrl)
|
const ws = new WebSocket(window.wsUrl)
|
||||||
// 执行上面的语句之后,客户端就会与服务器进行连接
|
// 执行上面的语句之后,客户端就会与服务器进行连接
|
||||||
|
|
||||||
@ -44,6 +44,10 @@ window.ws = null;
|
|||||||
ws.onclose = () => {
|
ws.onclose = () => {
|
||||||
console.log('onclose readyState', ws.readyState)
|
console.log('onclose readyState', ws.readyState)
|
||||||
console.log('onclose websocket连接关闭=======>')
|
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 readyState', ws.readyState)
|
||||||
console.log('onerror 发生错误==========>', error)
|
console.log('onerror 发生错误==========>', error)
|
||||||
}
|
}
|
||||||
|
return ws
|
||||||
}
|
}
|
||||||
|
window.ws = createConn()
|
||||||
createConn()
|
|
||||||
|
|
||||||
})()
|
})()
|
||||||
|
1
test-code/.gitignore
vendored
1
test-code/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
node_modules
|
|
44
test-code/package-lock.json
generated
44
test-code/package-lock.json
generated
@ -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": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
@ -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();
|
|
Loading…
x
Reference in New Issue
Block a user