라이브러리
[PHP] SwooleEvent::set - 소켓의 이벤트 콜백 함수를 업데이트합니다.
SwooleEvent::set
SwooleEvent::set은 Swoole의 이벤트 루프를 설정하는 함수입니다. 이벤트 루프는 Swoole의 가장 핵심적인 기능 중 하나로, 비동기 I/O 작업을 처리하는 데 사용됩니다. 이벤트 루프는 이벤트를 등록하고, 이벤트가 발생했을 때 처리하는 함수를 등록하는 것을 포함합니다.
# 이벤트 타입
SwooleEvent::set에서 이벤트 타입은 다음과 같습니다.
- `SwooleEvent::READ`: 읽기 이벤트
- `SwooleEvent::WRITE`: 쓰기 이벤트
- `SwooleEvent::CONNECT`: 연결 이벤트
- `SwooleEvent::CLOSE`: 연결 종료 이벤트
- `SwooleEvent::TIMER`: 타이머 이벤트
# 예제
다음 예제는 SwooleEvent::set을 사용하여 읽기 이벤트를 등록하는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// Swoole 서버를 생성합니다.
$serv = new swoole_server("0.0.0.0", 9501);
// 이벤트 루프를 설정합니다.
$serv->set([
'worker_num' => 4,
'max_request' => 10000,
'task_worker_num' => 4,
'task_max_request' => 10000,
'max_coroutine' => 10000,
'max_socks' => 10000,
]);
// 이벤트 루프를 시작합니다.
$serv->start(function ($serv, $fd, $from_id, $data) {
// 읽기 이벤트를 처리합니다.
echo "Client[$fd]: $data
";
$serv->send($fd, "Hello, client!");
});
// 읽기 이벤트를 등록합니다.
$serv->on('connect', function ($serv, $fd, $from_id) {
echo "Client[$fd] connect.
";
});
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
echo "Client[$fd]: $data
";
$serv->send($fd, "Hello, client!");
});
$serv->on('close', function ($serv, $fd, $from_id) {
echo "Client[$fd] close.
";
});
// 서버를 시작합니다.
$serv->start();
# 이벤트 처리
SwooleEvent::set에서 이벤트를 처리하는 방법은 다음과 같습니다.
- `on`: 이벤트를 등록합니다.
- `set`: 이벤트 루프를 설정합니다.
# 이벤트 루프 설정
SwooleEvent::set에서 이벤트 루프를 설정하는 방법은 다음과 같습니다.
- `worker_num`: 작업자 수를 설정합니다.
- `max_request`: 최대 요청 수를 설정합니다.
- `task_worker_num`: 태스크 작업자 수를 설정합니다.
- `task_max_request`: 태스크 최대 요청 수를 설정합니다.
- `max_coroutine`: 최대 코루틴 수를 설정합니다.
- `max_socks`: 최대 소켓 수를 설정합니다.
# 이벤트 루프 시작
SwooleEvent::set에서 이벤트 루프를 시작하는 방법은 다음과 같습니다.
- `start`: 이벤트 루프를 시작합니다.
# 이벤트 루프 종료
SwooleEvent::set에서 이벤트 루프를 종료하는 방법은 다음과 같습니다.
- `stop`: 이벤트 루프를 종료합니다.
# 이벤트 루프 재시작
SwooleEvent::set에서 이벤트 루프를 재시작하는 방법은 다음과 같습니다.
- `restart`: 이벤트 루프를 재시작합니다.
# 이벤트 루프 종료 후 처리
SwooleEvent::set에서 이벤트 루프를 종료 후 처리하는 방법은 다음과 같습니다.
- `onClose`: 이벤트 루프 종료 후 처리합니다.
# 이벤트 루프 재시작 후 처리
SwooleEvent::set에서 이벤트 루프를 재시작 후 처리하는 방법은 다음과 같습니다.
- `onRestart`: 이벤트 루프 재시작 후 처리합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.