```
<?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