onError
설명:
callback Worker::$onError
클라이언트의 연결에서 오류가 발생할 때 트리거됩니다.
현재 오류 유형은 다음과 같습니다.
-
Connection::send를 호출하는 도중 클라이언트 연결이 끊어진 경우의 실패(그 직후 onClose 콜백이 트리거됨)(code:WORKERMAN_SEND_FAIL msg:client closed) -
onBufferFull이 트리거된 후(전송 버퍼가 가득 찼음)에도Connection::send를 호출하고, 전송 버퍼가 여전히 가득 차 있는 상태로 인해 전송 실패가 발생한 경우( 이 경우 onClose 콜백은 트리거되지 않음)(code:WORKERMAN_SEND_FAIL msg:send buffer full and drop package) -
AsyncTcpConnection비동기 연결 실패 시(그 직후 onClose 콜백이 트리거됨)(code:WORKERMAN_CONNECT_FAIL msg:stream_socket_client에서 반환한 오류 메시지)
콜백 함수의 매개변수
$connection
연결 객체로, TcpConnection 인스턴스입니다. 클라이언트 연결을 조작하는 데 사용되며, 예를 들어 데이터 전송, 연결 종료 등이 있습니다.
$code
오류 코드
$msg
오류 메시지
예제
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onError = function(TcpConnection $connection, $code, $msg)
{
echo "error $code $msg\n";
};
// 작업자 실행
Worker::runAll();
참고: 익명 함수를 콜백으로 사용하는 것 외에도 여기를 참조하여 다른 콜백 작성 방법을 사용할 수 있습니다.