>  기사  >  PHP 프레임워크  >  ThinkPHP6에서 Workerman 사용하기

ThinkPHP6에서 Workerman 사용하기

Guanhui
Guanhui앞으로
2020-06-10 09:16:399495검색

ThinkPHP6에서 Workerman 사용하기

ThinkPHP6 Workerman의 기본 사용

Workerman

Workerman은 순수하게 PHP로 개발된 오픈 소스 고성능 PHP 소켓 서버 프레임워크입니다. 모바일 앱, 모바일 게임 서버, 온라인 게임 서버, 채팅방 서버, 하드웨어 통신 서버, 스마트 홈, 차량 인터넷, 사물 인터넷 및 기타 분야의 개발에 널리 사용됩니다. TCP 긴 연결을 지원하고 Websocket, HTTP 및 기타 프로토콜을 지원하며 사용자 정의 프로토콜을 지원합니다. Workerman을 기반으로 개발자는 비즈니스 로직 개발에 더 집중할 수 있으며 더 이상 PHP 소켓의 기본 개발에 대해 걱정할 필요가 없습니다.

관련 권장 사항: "workerman Tutorial"

설치

첫 번째 설치

composer require topthink/think-worker

Use

Workerman을 HttpServer로 사용

명령줄에서 서버 시작

php think worker

서버 직접 탐색 액세스 현재 응용 프로그램

http://localhost:2346

Linux는 다음 명령을 지원할 수 있습니다.

php think worker [start|stop|reload|restart|status]

workerman 매개변수는 응용 프로그램 구성 디렉터리의 Worker.php에서 구성할 수 있습니다.

onWorkerStart 실행 시 HTTP_HOST가 없으므로 애플리케이션 구성 파일에서 app_host를 설정하는 것이 가장 좋습니다

SocketServer

명령줄에서 서버 시작(버전 2.0.5 이상 필요)

php think worker:server

기본값 0.0.0.0 :2345 웹소켓 서비스를 시작합니다.

맞춤 매개변수가 필요한 경우 다음을 포함하여 config/worker_server.php에서 구성할 수 있습니다.

그리고 모든 작업자 매개변수(전역 정적 매개변수 포함)를 지원합니다.

클로저를 사용하여 관련 이벤트 콜백을 정의하는 것도 지원합니다.

return [
 'socket' =>  'http://127.0.0.1:8000',
 'name' =>  'thinkphp',
 'count' =>  4,
 'onMessage' =>  function($connection, $data) {
 $connection->send(json_encode($data));
 },
];

는 사용자 정의 클래스를 작업자 서비스 항목 파일 클래스로 사용하는 것도 지원합니다. 예를 들어, 서비스 클래스(thinkworkerServer를 상속해야 함)를 만든 다음 속성을 설정하고 콜백 메서드를 추가할 수 있습니다

<?php
namespace app\http;
use think\worker\Server;
class Worker extends Server
{
 protected $socket = &#39;http://0.0.0.0:2346&#39;;
 public function onMessage($connection,$data)
 {
 $connection->send(json_encode($data));
 }
}

workererman의 모든 콜백 메서드 정의를 지원합니다(콜백 메서드는 공개 유형이어야 함)

그런 다음 Worker_server.php에 구성을 추가합니다. :

return [
 &#39;worker_class&#39; =>  &#39;app\http\Worker&#39;,
];

이 매개변수를 정의한 후에는 다른 구성 매개변수가 더 이상 유효하지 않습니다.

명령줄에서 서버를 시작하세요

php think worker:server

그런 다음 브라우저에서 액세스하세요

http://localhost:2346

Linux에 있는 경우 reload|restart|stop|status 작업도 지원됩니다

php think worker:server reload

권장 튜토리얼: "PHP "

위 내용은 ThinkPHP6에서 Workerman 사용하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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