>PHP 프레임워크 >Swoole >스울 FD가 뭐야?

스울 FD가 뭐야?

(*-*)浩
(*-*)浩원래의
2019-12-06 09:16:033733검색

스울 FD가 뭐야?

fd는 swoole_server에 있는 클라이언트의 고유 식별자입니다.

fd는 새 수신 연결에서 재사용됩니다. ​​​​​​: swoole 동영상 튜토리얼)

유지 관리 중인 TCP 연결 fd는 재사용되지 않습니다.

swoole_server->send/swoole_server->close 함수를 호출하려면 $fd 매개변수를 전달해야 합니다. 올바르게 처리되었습니다.

비즈니스에서 브로드캐스트를 보내야 하는 경우 apc/redis/memcache/swoole_table을 사용하여 fd의 가치를 절약해야 합니다.

버전 1.7.10 이상에서 fd는 더 이상 파일 설명자가 아닙니다. fd는 100만부터 1600만까지 자동으로 증가하는 숫자입니다

fd가 1600만을 초과하면 1

function my_onReceive($serv, $fd, $from_id, $data)  {    
      //向Connection发送数据
    $serv->send($fd, 'Swoole: '.$data); 
    //关闭Connection
    $serv->close($fd); 
}

$fdshaping을 사용하는 이유

$fd 객체 대신 shaping을 주로 사용합니다. 이유는 swoole이 작업자 프로세스/작업 프로세스에서 언제든지 클라이언트 연결에 액세스해야 할 수 있기 때문입니다. 추가 성능 오버헤드를 추가합니다. $fd가 정수이면 직접 저장 및 전송에 사용할 수 있습니다.

PHP 계층에서는 클라이언트 연결을 객체로 캡슐화할 수도 있습니다. 객체 지향의 장점은 읽기가 더 쉽고 연결 작업을 메서드로 캡슐화할 수 있다는 것입니다. 예:

$connection->send($data);
$connection->close();

위 내용은 스울 FD가 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.