라이브러리

[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`: 이벤트 루프 재시작 후 처리합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 101 페이지

검색

게시물 검색