
ZMQSocket 클래스의 recv 메소드는 데이터를 받을 때 다음과 같은 경우에 에러를 반환합니다.
- 데이터가 없을 때
- 소켓이 닫힌 경우
- 연결이 끊긴 경우
- 오류가 발생한 경우
recv 메소드의 timeout 옵션은 데이터를 받을 때까지 지정한 시간 동안 기다리게 합니다. timeout 옵션은 두 가지 종류가 있습니다.
- 소켓 수명 시간 초과: 소켓이 닫힌 경우 또는 연결이 끊긴 경우 timeout이 발생합니다.
- 데이터 수신 시간 초과: 데이터가 없을 때 또는 오류가 발생한 경우 timeout이 발생합니다.
recv 메소드의 timeout이 발생했을 때, 메소드는 다음과 같은 동작을 합니다.
- 소켓 수명 시간 초과: recv 메소드는 에러를 반환합니다.
- 데이터 수신 시간 초과: recv 메소드는 데이터를 받지 못하고, 메소드의 반환 타입에 따라 에러를 반환하거나 NULL을 반환합니다.
예를 들어, recv 메소드를 사용하여 데이터를 받을 때, timeout 옵션을 5초로 설정한 경우, 데이터가 5초 이내에 도착하지 않으면 timeout이 발생하고, recv 메소드는 에러를 반환합니다.
2025-07-12 00:00