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

ThinkPHP6에서 Workerman 사용하기

Guanhui
풀어 주다: 2021-02-01 12:02:51
앞으로
9733명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿