Workerman은 오픈 소스 고성능 비동기 PHP 소켓 인스턴트 메시징 프레임워크입니다. 높은 동시성 및 매우 높은 안정성을 지원하며 모바일 앱, 모바일 통신, WeChat 애플릿, 모바일 게임 서버, 온라인 게임, PHP 채팅방, 하드웨어 통신, 스마트 홈, 차량 인터넷, 사물 인터넷 및 기타 분야에서 널리 사용됩니다. . 개발. (추천 학습: workerman tutorial)
TCP 긴 연결을 지원하고 Websocket, HTTP 및 기타 프로토콜을 지원하며 사용자 정의 프로토콜을 지원합니다. 비동기 Mysql, 비동기 Redis, 비동기 Http, MQTT IoT 클라이언트, 비동기 메시지 대기열 등과 같은 많은 고성능 구성 요소가 있습니다.
workerman 자체는 PHP 프로세스 관리 및 소켓 통신용 모듈을 갖춘 PHP 다중 프로세스 서버 프레임워크이므로 php-fpm, nginx 또는 apache와 같은 컨테이너에 의존하지 않고 독립적으로 실행할 수 있습니다.
1. 먼저 공식 Workerman 프레임워크를 다운로드합니다
2. 서버측으로
작업자 프레임워크의 루트 디렉터리에 새 파일을 만듭니다
use Workerman\Worker; require_once __DIR__ . '/Workerman/Autoloader.php'; // 注意:使用的是websocket协议 $ws_worker = new Worker("websocket://0.0.0.0:2000"); //这里最好是0.0.0.0 // 启动4个进程对外提供服务 $ws_worker->count = 4; $ws_worker->onWorkerStart = function($ws_worker){ }; $ws_worker->onConnect = function($ws_worker){ }; $ws_worker->onMessage = function($connection, $data)use($ws_worker){ //如果想用$ws_worker的话需要 use传进来 }; $worker->onClose = function($connection){ }; php yaofile.php start debug模式 启动 php yaofile.php start -d (守护进程)启动
3.
ws = new WebSocket("ws://47.90.81.150:2000"); //服务器的ip ws.onopen = function() { console.log("连接成功"); } ws.onmessage = function(e) { console.log("收到服务端的消息:" + e.data); } foreach($ws_worker->connections as $connection) { $connection->send($cachearray); }
4. 클라이언트로서 끝
use Workerman\Connection\AsyncTcpConnection; //要引用这个文件 $con = new AsyncTcpConnection('ws://api.huobi.pro:443/ws'); //远程服务器的连接 // 设置以ssl加密方式访问,使之成为wss $con->transport = 'ssl'; $con->onConnect = function($con) { $con->send($data); } $con->onMessage = function($con, $data) { }; $con->connect();
위 내용은 워커맨 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!