첫 번째 다운로드workererman https://www.workerman.net/download (권장 학습: workererman tutorial#🎜 🎜#)
다운로드 후, Workerman 파일 # 아래에 start.php 새 파일을 생성합니다. 🎜🎜#
코드는 다음과 같습니다
<?php
use Workerman\Worker;
//Autoloader.php路径
require_once "./Autoloader.php";
$global_uid = 0;
// 当客户端连上来时分配uid,并保存连接,并通知所有客户端
function handle_connection($connection)
{
global $text_worker, $global_uid;
// 为这个连接分配一个uid
$connection->uid = ++$global_uid;
}
// 当客户端发送消息过来时,转发给所有人
function handle_message($connection, $data)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user[{$connection->uid}] said: $data");
}
}
// 当客户端断开时,广播给所有客户端
function handle_close($connection)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user[{$connection->uid}] logout");
}
}
// 创建一个文本协议的Worker监听2000接口 用0.0.0.0方便链接内网外网
$text_worker = new Worker("websocket://0.0.0.0:2000");
// 只启动1个进程,这样方便客户端之间传输数据
$text_worker->count = 1;
$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';
Worker::runAll();
php start.php start
간단한 테스트는 브라우저를 열고, F12를 눌러 디버깅 콘솔을 열고, 콘솔 열에 입력하거나 다음을 입력하는 것입니다. HTML 페이지에 코드 js// 假设服务端ip为127.0.0.1 ws = new WebSocket("ws://127.0.0.1:2000"); ws.onopen = function() { alert("连接成功"); ws.send('我是谁?'); alert("给服务端发送一个字符串:我是谁?"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); };
로 실행
위 내용은 워커맨 다운로드 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!