```
<?php
//创建WebSocket Server对象,监听0.0.0.0:9502端口
$ws = new Swoole\WebSocket\Server('0.0.0.0', 9502);
// $ws->set([
// 'enable_static_handler' => true,
// 'document_root' => "/home/wwwroot/target.testdomain.solutions/www",
// ]);
//监听WebSocket连接打开事件
$ws->on('Open', function ($ws, $request) {
$ws->push($request->fd, "hello, welcome\n");
});
//监听WebSocket消息事件
$ws->on('Message', function ($ws, $frame) {
echo "Message: {$frame->data}\n";
$ws->push($frame->fd, "server: {$frame->data}");
});
//监听WebSocket连接关闭事件
$ws->on('Close', function ($ws, $fd) {
echo "client-{$fd} is closed\n";
});
$ws->start();
```
www目录下的index.html
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
test1
<script>
var wsServer = 'ws://target.testdomain.solutions:9502';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
websocket.send("hello world!");
console.log("Connected to WebSocket server.");
};
websocket.onclose = function (evt) {
console.log("Disconnected");
};
websocket.onmessage = function (evt) {
console.log('Retrieved data from server: ' + evt.data);
};
websocket.onerror = function (evt, e) {
console.log('Error occured: ' + evt.data);
};
</script>
</body>
</html>
```
- 分布式架构设计概要
- 技术管理
- 1.流程规范
- 2.精准效率
- 3.同步工具
- 代码审核
- 编程思想
- 控制反转和依赖注入
- public、private、protected
- MySQL
- MySQL安装
- MySQL常用
- MySQL主从配置
- 读写分离
- 分库分表
- 高可用
- MySQL集群
- MySQL优化
- MySQL慢查询优化
- 数据结构
- MySQL备份
- MySQL導出導入
- MSSQL
- 導出導入
- Redis
- Redis日常操作
- Redis安装
- Redis主从配置
- Redis哨兵
- 队列
- 分布式式锁
- Redis集群
- redis的缓存雪崩与缓存穿透
- Linux
- Linux基本操作
- Linux基础操作1
- Linux安装
- Linux安装Nginx
- Linux安装MySQL
- Linux安装PHP
- Linux安装Redis
- Linux安装Swoole
- Linux安装Elasticsearch
- Linux安装Mycat
- Linux优化
- 集群
- 服务器管理
- Nginx
- Nginx 首页外链接出现404问题
- Nginx常用命令行
- LNMP一键安装的404错误
- http和https站点设置
- Linux shell expect spawn
- Ubuntu环境
- 宝塔
- 定时任务
- Windows
- 生成OpenSSL证书
- Git
- Git基本操作
- Git练习
- Git上传到远程仓库,远程仓库更新到指定文件夹
- Git案例1
- Git案例2
- Git部署
- 远程连接
- 服务器原理
- 进程和线程
- 腾讯云
- 宝塔命令行
- 消息队列系统
- RabbitMQ
- RabbitMQ+Laravel
- Kafka
- Elasticsearch
- Laravel+Elasticsearch
- Elasticsearch Demo:ES搜索题目和内容
- 分布式
- PHP
- Laravel高级集成开发
- PHP技术栈
- LNMP
- LNMP+Laravel出现问题
- PHP+MySQL
- PHP连接MySQL
- PHP+Redis
- PHP连接Redis
- PHP+Redis简单操作
- Laravel+Redis
- Laravel+Swoole
- Swoole
- Swoole TCP案例
- Swoole HTTP案例
- Sswoole WebSocket案例
- Swoole发短信案例
- ThinkPHP
- Java技术栈
- 文档参考
- docker
- docker一般使用
- docker项目1
- docker+lnmp
- docker搭建wordpress
- Docker部署单体到微服务架构(Laravel)
- Docker部署单体到微服务架构(Spring Boot)
- docker部署vue项目
- Dockerfile
- 其他
- 笔记1
- 笔记2
- 开发速度
- 代码质量
- 踩过的坑
- 编辑器
- VSCode