
1. SwooleConnectionIterator::current를 사용하여 현재 연결을 가져올 때, 반환되는 객체는 Swoole\Http\Connection 또는 Swoole\Server\Connection 클래스의 인스턴스입니다.
이 객체는 다음과 같은 메서드를 사용하여 정보를 얻을 수 있습니다.
- getSocket() : 소켓 객체를 반환합니다.
- getAddr() : 연결된 클라이언트의 IP 주소를 반환합니다.
- getPort() : 연결된 클라이언트의 포트 번호를 반환합니다.
- getId() : 연결 ID를 반환합니다.
- getPeerId() : 연결된 클라이언트의 ID를 반환합니다.
- getPeerInfo() : 연결된 클라이언트의 정보를 반환합니다.
- getSendQueueSize() : 전송 대기 큐의 크기를 반환합니다.
- getRecvQueueSize() : 수신 대기 큐의 크기를 반환합니다.
2. 위의 메서드를 사용했을 때, 연결 객체를 반환했는데, 이 객체에 대한 정보를 얻을 수 없을까요?
이 메서드는 연결 객체를 반환했기 때문에, 연결 객체에 대한 정보를 얻을 수 있습니다.
하지만, 연결 객체가 존재하지 않는 경우, NULL을 반환합니다.
3. 위의 메서드를 사용하여 현재 연결을 가져올 때, 어떤 에러가 발생하는지 알려주실 수 있을까요?
이 메서드를 사용하여 현재 연결을 가져올 때, 에러가 발생할 수 있는 경우는 다음과 같습니다.
- 연결 객체가 존재하지 않는 경우, Swoole\Error\RuntimeException이 발생합니다.
- 연결 객체가 존재하지만, 연결이 끊어진 경우, Swoole\Error\RuntimeException이 발생합니다.
- 연결 객체가 존재하지만, 연결이 끊어졌을 때, 연결을 다시 가져오려고 할 때, Swoole\Error\RuntimeException이 발생합니다.
2025-06-15 05:45