📖 File Reader
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
1、composer require topthink/think-worker 安装 <br>
2、在config\worker_server.php引入刚刚创建的websocket类 <br>
4、我是在宝塔中创建,如果2345端口没开,可以在宝塔中开启下,也可以在config\worker_server.php下修改端口号与socket完整监听地址<br>
5、配置完成之后在启动下socket: 命令(php think worker:server) <br>
如果未运行成功查看下 服务器环境变量PHP版本是否正确、逐个排查下 <br>
6、都弄好以后宝塔面板最好整个进程守护管理器安装一个 配置上 省着服务器重启之后不好使 <br>
7、wss需要配置https证书 然后前往服务器里 找到对应项目的文件/www/server/panel/vhost/nginx/dache.gkktc.cn.conf (我的环境是liunx Nginx 1.21.4)
查看wss配置的端口号什么的都对不对 没问题才可连接
location /wss {
proxy_pass http://127.0.0.1:2346;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite /wss/(.*) /$1 break;
proxy_redirect off;
proxy_connect_timeout 5s; #配置点1
proxy_read_timeout 60000s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 60000s; #配置点3
}
转载:https://blog.csdn.net/xy123boy/article/details/130891113 <br>
</body>
<script>
var ws = new WebSocket("ws://8.142.116.208:2346");
/*绑定连接事件*/
ws.onopen = function () {
console.log("ws连接成功");
//向后端推送数据
var bind = {"name":"小超","uid":"1","type":"","Message":123};
var data = JSON.stringify(bind);
ws.send(data);
};
/*绑定收到消息事件*/
ws.onmessage = function (evt) {
//data = JSON.parse(evt.data)
console.log('推送消息:');
console.log(evt);
};
/*绑定关闭或断开连接事件*/
ws.onclose = function (evt) {
console.log("ws连接已关闭");
};
/*如果出现连接、处理、接收、发送数据失败的时候触发onerror事件*/
ws.onerror = function (e) {
console.log(e);
}
</script>
</html>