
스와올 에러 코드(Swoole_errno)는 스와올 프레임워크에서 발생하는 에러를 나타내는 코드입니다. 에러 코드는 스와올 라이브러리가 내장하고 있는 에러 코드를 의미합니다. 스와올 에러 코드는 0부터 1000까지의 값을 반환할 수 있습니다.
스와올 에러 코드의 각 값은 다음과 같습니다.
- EAGAIN: 소켓이 사용할 수 없는 상태입니다.
- EALREADY: 소켓이 이미 연결된 상태입니다.
- EBADF: 소켓이 유효하지 않은 상태입니다.
- ECONNABORTED: 연결이 중단된 상태입니다.
- ECONNRESET: 연결이 재설정된 상태입니다.
- EFAULT: 소켓이 유효하지 않은 상태입니다.
- EINTR: 인터럽트된 상태입니다.
- EIO: 입출력 오류입니다.
- EISCONN: 소켓이 이미 연결된 상태입니다.
- ENOTCONN: 소켓이 연결되지 않은 상태입니다.
- EPERM: 권한이 없습니다.
- EPIPE: 소켓이 유효하지 않은 상태입니다.
스와올 에러 코드의 사용 예시는 다음과 같습니다.
#hostingforum.kr
php
$server = new swoole_server("0.0.0.0", 9501);
$server->on('connect', function ($server, $fd) {
echo "Client $fd connectedn";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
if ($data == 'exit') {
$server->close($fd);
} else {
$server->send($fd, "Hello, client $fdn");
}
});
$server->on('close', function ($server, $fd) {
echo "Client $fd closedn";
});
$server->start();
// 에러 발생 시 에러 코드를 출력합니다.
try {
$server->start();
} catch (Exception $e) {
echo "에러 코드: " . $e->getCode() . "n";
echo "에러 메시지: " . $e->getMessage() . "n";
}
이 예시는 스와올 서버를 생성하고 클라이언트와의 연결, 데이터 전송, 연결 종료에 대한 이벤트를 처리합니다. 에러가 발생할 경우 에러 코드와 메시지를 출력합니다.
2025-07-07 01:52