라이브러리
[PHP] EvIo::createStopped - 중지된 EvIo 워처 객체를 생성합니다.
EvIo::createStopped
EvIo::createStopped은 PHP의 EvIo 클래스에서 사용할 수 있는 메서드입니다. EvIo 클래스는 이벤트 루프를 사용하여 I/O 작업을 비동기적으로 처리할 수 있도록 해주는 클래스입니다.
EvIo::createStopped은 이벤트 루프에 이벤트를 등록하는 메서드입니다. 이 메서드는 이벤트 루프에 이벤트를 등록하고, 이벤트가 발생할 때 콜백 함수를 호출합니다. 이 메서드는 이벤트 루프에 이벤트를 등록하는 데 사용되며, 이벤트 루프가 종료되면 이벤트가 자동으로 제거됩니다.
# 예제
#hostingforum.kr
php
<?php
// 이벤트 루프를 생성합니다.
$loop = new EvLoop();
// 이벤트 루프에 이벤트를 등록합니다.
$watcher = EvIo::createStopped($loop, STDIN, Ev::READ);
$watcher->set($callback = function (Ev $watcher) {
echo "데이터가 입력되었습니다.
";
$watcher->stop();
});
// 이벤트 루프를 시작합니다.
$loop->run();
?>
# 사용 방법
1. 이벤트 루프를 생성합니다.
2. 이벤트 루프에 이벤트를 등록합니다. `EvIo::createStopped` 메서드를 사용하여 이벤트를 등록합니다.
3. 이벤트 루프에 이벤트를 등록할 때, 이벤트가 발생할 때 호출할 콜백 함수를 지정합니다.
4. 이벤트 루프를 시작합니다. `run` 메서드를 사용하여 이벤트 루프를 시작합니다.
# 주의 사항
* 이벤트 루프가 종료되면 이벤트가 자동으로 제거됩니다.
* 이벤트 루프가 종료되기 전에 이벤트를 중지하려면 `stop` 메서드를 사용하여 이벤트를 중지해야 합니다.
# 더 많은 예제
* 이벤트 루프에 이벤트를 등록하여 데이터를 읽고 쓰는 예제
#hostingforum.kr
php
<?php
// 이벤트 루프를 생성합니다.
$loop = new EvLoop();
// 이벤트 루프에 이벤트를 등록합니다.
$watcher = EvIo::createStopped($loop, STDIN, Ev::READ);
$watcher->set($callback = function (Ev $watcher) {
echo "데이터가 입력되었습니다.
";
$data = fgets(STDIN);
echo "입력된 데이터: $data
";
$watcher->stop();
});
// 이벤트 루프에 이벤트를 등록합니다.
$watcher = EvIo::createStopped($loop, STDOUT, Ev::WRITE);
$watcher->set($callback = function (Ev $watcher) {
echo "데이터를 출력합니다.
";
fwrite(STDOUT, "Hello, World!
");
$watcher->stop();
});
// 이벤트 루프를 시작합니다.
$loop->run();
?>
* 이벤트 루프에 이벤트를 등록하여 파일을 읽고 쓰는 예제
#hostingforum.kr
php
<?php
// 이벤트 루프를 생성합니다.
$loop = new EvLoop();
// 이벤트 루프에 이벤트를 등록합니다.
$watcher = EvIo::createStopped($loop, fopen("example.txt", "r"), Ev::READ);
$watcher->set($callback = function (Ev $watcher) {
echo "파일에서 데이터를 읽었습니다.
";
$data = fread($watcher->fd, 1024);
echo "읽은 데이터: $data
";
$watcher->stop();
});
// 이벤트 루프를 시작합니다.
$loop->run();
?>
이 예제는 이벤트 루프에 이벤트를 등록하여 파일을 읽는 예제입니다. `EvIo::createStopped` 메서드를 사용하여 이벤트를 등록하고, 이벤트가 발생할 때 콜백 함수를 호출합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.