카테고리 없음

[펄] 차단 시간 초과 IO :: Socket 읽기

행복을전해요 2021. 2. 7. 14:54

소켓에서 읽기 전에 원하는 시간 제한과 함께 4 인수 버전을select 사용하여 읽을 소켓에서 데이터를 사용할 수 있는지 테스트합니다.

또한 IO::Select모듈, 특히 IO::Select::can_read($timeout)소켓 읽기가 차단되는지 여부를 테스트 하는 방법을 참조하십시오 .

예:

$read_timeout = 5.0; # seconds
$socket = IO::Socket->new( ... );     # socket to read from

$selector = IO::Select->new;
$selector->add( $socket );

...

@ready = $selector->can_read( $read_timeout );
if (@ready > 0) {
    $socket->read( $buffer, 128 );   # copy 128 bytes into $buffer
    } else {
        warn "data not available on socket now";
        }
        


출처
https://stackoverflow.com/questions/22050250