Workerman ??: WebSocket ?? ?? ??
Nov 07, 2023 pm 03:29 PMWorkerman? ???? WebSocket ??? ???? ??
WebRTC ??, ?? ??? ??, ??? ?? ? ?? ?? ????? ??? ????? WebSocket ??? ?? ? ???????. Workerman? PHP ???? ???? ??? ???? TCP, UDP ? Unix ?? ???? ??????, ????? ?? ???? ???? WebSocket ?? ??? ?? ???????.
? ???? WebSocket ?? ?? ??, WebSocket ??? ??? ??, ?????? ?? ?????? ???? ?? ? Workerman? ???? WebSocket ??? ???? ??? ??? ?????. ?? ? ???? ?? ?? ??? ?????.
- Workerman ??
Workerman? ???? ?? ?? Workerman? ???? ???. Composer? ?? ????? GitHub?? ?? ?? ??? ?????? ???? ??? ? ????. ????? Composer ??? ?? ?? ?????.
composer require workerman/workerman
- WebSocket ?? ?? ??
Workerman? ???? WebSocket ??? ???? ?? ?? WebSocket ????? ???? ??? ???? ???. WebSocket? ?????? ??? ?????? ?? ??? ??? ? ???? ???? ?? ? ?? ??? ?? ?? ???????. WebSocket ???? ???, ???? ?? ??? ?? ?? ???? ? ??? ??? ??? ??? ?? ?? ??? ??? ? ????.
Workerman? ???? WebSocket ??? ???? ?? ?? ???? ???? ? ? ?? ??? ?????. ?? ??? ????.
require_once __DIR__ . '/vendor/autoload.php'; use WorkermanWorker; // 創(chuàng)建一個Worker監(jiān)聽8090端口,使用websocket協(xié)議通訊 $wsWorker = new Worker("websocket://0.0.0.0:8090"); // 啟動4個進程對外提供服務(wù) $wsWorker->count = 4; // 處理WebSocket連接的回調(diào)函數(shù) $wsWorker->onConnect = function($connection) { echo "New connection "; }; // 處理WebSocket消息的回調(diào)函數(shù) $wsWorker->onMessage = function($connection, $data) { // 處理消息... }; // 啟動Worker Worker::runAll();
?? Worker ????? ???? ?? 8090?? ?? ???? websocket ????? ???? ????? ?????. ?? ?? 4?? ????? ???? ?? ?? ?? ??? ???? ?????. Worker? TCP, UDP, Unix Socket ? ??? ?? ????? ????? WebSocket ????? ???? ???.
? ???? ? ?? ?? ??? ?????.
- ? WebSocket ??? ???? onConnect ?? ??? ?????. ???? ??? ???? ??? ??? ? ? ?? ??? ??? ? ????.
- WebSocket ???? ???? onMessage ?? ??? ?????. ???? ??? ?? ??, ?? ??? ?? ???? ???? ???.
- ??? ??? ???? ???? ????. ???? ??? ??? ???? ???? WebSocket ?? ? ???? ?????.
- WebSocket ??? ??
onMessage ?? ??? ?? ?????? ?? WebSocket ???? ?? ? ????. ??? ??? ??? ?? ????? ? ????. WebSocket ???? ???? ??? ?????? ????? ?? ????. ?? ?? ??? ?? ??????? ?????? ? ?? ? ??? ?? ??? ???? ?? ??, ?? ??????? ????? ??? ??? ??? ???? ???.
??? ??? ???? ???? ?????? ???? ??? ????.
$wsWorker->onMessage = function($connection, $data) { echo "Received message: {$data} "; $connection->send("Received: {$data}"); };
WebSocket ?? ??
WebSocket ??? ??? ?? ?????? ?? ?? ??? ?? ??? ?????. onClose ?? ??? ?? ?? ?? ???? ??? ? ????.
$wsWorker->onClose = function($connection) { echo "Connection closed "; };
- ?? ?????
Workerman? ?? ?????? ?? ??? ? ????. ???? Laravel ?????? ?? ?? Workerman? ???? Laravel?? WebSocket ??? ???? ??? ?????.
?? Laravel ????? Workerman? ???? ???:
composer require workerman/workerman
???? WebSocket ??? ???? ?? ??? ?? Artisan ??? ??? ? ????:
php artisan make:command WebSocketServer
?? ?? app/Console/Commands/WebSocketServer.php? ??? ?????. file :
<?php namespace AppConsoleCommands; use IlluminateConsoleCommand; use WorkermanWorker; class WebSocketServer extends Command { // 命令名稱 protected $name = 'websocket:server'; // 命令描述 protected $description = 'Start WebSocket server'; // 執(zhí)行命令 public function handle() { // 創(chuàng)建Worker實例,監(jiān)聽8080端口 $wsWorker = new Worker("websocket://0.0.0.0:8080"); // 進程數(shù)量 $wsWorker->count = 4; // 處理連接事件 $wsWorker->onConnect = function($connection) { echo "New connection "; }; // 處理消息事件 $wsWorker->onMessage = function($connection, $data) { // 處理消息 }; // 運行Worker Worker::runAll(); } }
????? ?? ??? ???? WebSocket ??? ??? ? ????.
php artisan websocket:server
????? Workerman? ???? WebSocket ??? ???? ?? ?? ???? ?? ?????? ?? ??? ? ????.
- ?? ?? ??
??? ?????? ?? ???? ?? ??? ??? ??, ?? ??? ?????? ??? ? ?? ?? WebSocket ?? ?????.
count = 4; // 處理WebSocket連接的回調(diào)函數(shù) $wsWorker->onConnect = function($connection) { echo "New connection "; }; // 處理WebSocket消息的回調(diào)函數(shù) $wsWorker->onMessage = function($connection, $data) { echo "Received message: {$data} "; $result = "Received: {$data}"; $connection->send($result); }; // 處理連接斷開事件的回調(diào)函數(shù) $wsWorker->onClose = function($connection) { echo "Connection closed "; }; // 啟動Worker Worker::runAll();
?? Workerman Through? ???? ???????. ? ??? ??? ?? ??? WebSocket ??? ?? ???? ?? ?? ?? ??? ?????? ??? ??? ?? ???? ??? ??? ?? ??? ????.
? ??? Workerman ??: WebSocket ?? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)