>PHP 프레임워크 >Workerman >워커맨 소개(사용설명서 포함)

워커맨 소개(사용설명서 포함)

尚
앞으로
2019-11-25 17:22:439395검색

workerman 튜토리얼 칼럼에서는 Workerman의 개념과 사용법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

워커맨 소개(사용설명서 포함)

workerman은 PHP 다중 프로세스 및 libevent 이벤트 폴링 라이브러리를 기반으로 하는 고성능 PHP 소켓 서버 프레임워크입니다. PHP 개발자는 Rpc와 같은 자체 네트워크 애플리케이션을 개발하기 위해 하나 또는 두 개의 인터페이스만 구현하면 됩니다. , 채팅방 서버, 모바일 게임 서버 등

workerman의 목표는 PHP 개발자가 PHP 소켓 및 PHP 다중 프로세스의 세부 사항을 이해하지 않고도 고성능 소켓 기반 응용 프로그램 서비스를 보다 쉽게 ​​개발할 수 있도록 하는 것입니다.

Workerman 자체는 PHP 프로세스 관리 및 소켓 통신 모듈을 갖춘 PHP 다중 프로세스 서버 프레임워크이므로 php-fpm, nginx 또는 Apache와 같은 컨테이너에 의존하지 않고 독립적으로 실행할 수 있습니다.

PHP 프로세스 관리: 운영 체제의 프로세스 관리와 유사합니다.

소켓: 네트워크의 두 프로그램은 양방향 통신 연결을 통해 데이터를 교환합니다. 이 연결의 한쪽 끝을 소켓이라고 합니다.

서버 측 개발 예제 WebSocket Server

1. 새 파일 start.php

<?php use Workerman\Worker;
require_once &#39;./Workerman/Autoloader.php&#39;;

// 创建一个Worker监听2346端口,使用websocket协议通讯
$ws_worker = new Worker("websocket://0.0.0.0:2346");

// 启动4个进程对外提供服务
$ws_worker->count = 4;

// 当收到客户端发来的数据后返回hello $data给客户端
$ws_worker->onMessage = function($connection, $data)
{
    // 向客户端发送hello $data
    $connection->send('hello ' . $data);
};

// 运行
Worker::runAll();

를 만듭니다.

php start.php start -d

위 명령문을 사용하여 start.php를 시작하고, 수신할 Worker를 만듭니다. 포트 2346을 사용하고 웹소켓 프로토콜을 사용하여 통신합니다. 그리고 외부 서비스를 제공하기 위해 4개의 프로세스를 시작합니다. 요청이 수신되면 데이터가 클라이언트로 전송됩니다.

3. Workerman의 실행 상태 확인:

php start.php status

워커맨 소개(사용설명서 포함)

Workerman의 여러 주요 기능:

순수한 PHP 개발

Workerman을 사용하여 개발된 애플리케이션은 php-fpm에 의존하지 않습니다. , Apache, nginx 컨테이너는 독립적으로 실행될 수 있습니다. 이는 PHP 개발자가 애플리케이션을 개발, 배포 및 디버그하는 것을 매우 편리하게 만듭니다.

PHP 멀티 프로세스 지원

서버의 멀티 CPU 성능을 최대한 활용하기 위해 Workerman은 기본적으로 멀티 프로세스와 멀티 태스킹을 지원합니다. Workerman은 외부 서비스를 제공하기 위해 메인 프로세스와 여러 하위 프로세스를 시작합니다. 메인 프로세스는 하위 프로세스의 종료 신호를 모니터링하고 서비스를 처리하기 위한 새로운 하위 프로세스를 생성하는 역할을 합니다. 뿐만 아니라 Workerman을 더욱 안정적으로 만듭니다.

TCP 및 UDP 지원

workerman은 TCP 및 UDP 두 가지 전송 계층 프로토콜을 지원합니다. 비즈니스 코드를 변경하지 않고 전송 계층 프로토콜을 변경하려면 구성의 한 필드만 변경하면 됩니다.

긴 연결 지원

채팅방, 게임 등 클라이언트와의 긴 연결을 유지하려면 PHP 애플리케이션이 필요한 경우가 많지만 기존 PHP 컨테이너(apache, nginx, php-fpm)로는 이를 달성하기 어렵습니다. 이것. Workerman을 사용하면 PHP 긴 연결을 쉽게 사용할 수 있습니다. 단일 PHP 프로세스는 수천 또는 수만 개의 동시 연결을 지원할 수 있으며, 여러 프로세스는 수십만 또는 수백만 개의 동시 연결을 지원할 수 있습니다.

다양한 애플리케이션 계층 프로토콜 지원

인터페이스는 사용자 정의 프로토콜을 포함한 다양한 애플리케이션 계층 프로토콜을 지원합니다. Workerman이 기본적으로 지원하는 프로토콜에는 HTTP, WebSocket 및 단순 텍스트 프로토콜이 포함됩니다. 동시에 Workerman은 공통 프로토콜 인터페이스를 제공하며 개발자는 이 인터페이스를 기반으로 자신만의 프로토콜을 쉽게 개발할 수 있습니다.

높은 동시성 지원

workerman은 Libevent 이벤트 폴링 라이브러리를 지원합니다(Libevent 확장 프로그램 설치 필요). Libevent를 사용하면 높은 동시성 측면에서 성능이 뛰어납니다. PHP에 내장된 Select 관련 시스템입니다. 통화가 사용됩니다.

더 많은 워커맨 지식을 알고 싶으시면 workerman tutorial 칼럼을 주목해주세요.

위 내용은 워커맨 소개(사용설명서 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제