라이브러리

[PHP] SwooleServer::listen - 지정된 IP, 포트, 소켓 유형을 수신합니다.




SwooleServer::listen

SwooleServer::listen은 Swoole의 서버를 시작하고, 특정 포트에서 소켓을 열어준다. 이 메서드는 SwooleServer의 생성자에서 호출되어야 한다.

Syntax


#hostingforum.kr
php

public function listen($host, $port, $mode = SWOOLE_SOCK_TCP, $backlog = 128, $settings = array())



Parameters


- `$host`: 서버가 소켓을 열어줄 호스트 이름 또는 IP 주소. 기본값은 '0.0.0.0' (모든 IP 주소).
- `$port`: 서버가 소켓을 열어줄 포트 번호.
- `$mode`: 소켓 타입. 기본값은 SWOOLE_SOCK_TCP (TCP 소켓).
- `$backlog`: 소켓의 백로그 수. 기본값은 128.
- `$settings`: 서버의 설정. 기본값은 빈 배열.

예제


#hostingforum.kr
php

use SwooleServer;



$server = new Server('127.0.0.1', 9501, SWOOLE_SOCK_TCP);



$server->on('connect', function ($server, $fd) {

    echo "Client $fd connected
";

});



$server->on('receive', function ($server, $fd, $fromId, $data) {

    echo "Client $fd received message: $data
";

    $server->send($fd, "Hello, client!");

});



$server->on('close', function ($server, $fd) {

    echo "Client $fd closed
";

});



$server->start();



이 예제는 TCP 소켓을 사용하여 서버를 시작하고, 클라이언트가 연결되면 연결이 수립되었습니다. 클라이언트가 메시지를 받으면 서버가 메시지를 받았습니다. 클라이언트가 연결을 끊으면 연결이 끊겼습니다.

설정 옵션


SwooleServer::listen에서 사용할 수 있는 설정 옵션은 다음과 같습니다.

- `worker_num`: 워커 프로세스의 수.
- `task_worker_num`: 태스크 워커 프로세스의 수.
- `max_request`: 워커 프로세스가 처리할 수 있는 요청의 수.
- `max_conn`: 소켓의 최대 연결 수.
- `max_socks`: 소켓의 최대 소켓 수.
- `open_eof_check`: EOF 체크를 활성화할지 여부.
- `open_eof_split`: EOF 분리기를 활성화할지 여부.
- `package_eof`: 패킷의 EOF 문자열.
- `package_max_length`: 패킷의 최대 길이.
- `package_body_length_detection`: 패킷의 바디 길이 감지를 활성화할지 여부.
- `package_body_length`: 패킷의 바디 길이.

이 설정 옵션은 서버의 성능과 안정성을 향상시키기 위해 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색