라이브러리
[PHP] socket_recv - 연결된 소켓에서 데이터를 수신합니다.
PHP 소켓 recv() 함수
PHP 소켓 recv() 함수는 소켓에서 데이터를 읽어오는 함수입니다. 이 함수는 소켓에서 데이터를 읽어와서 변수에 저장하는 역할을 합니다.
recv() 함수의 매개변수
recv() 함수의 매개변수는 다음과 같습니다.
- `$sock`: 소켓 핸들
- `$length`: 읽어올 데이터의 길이
- `$flags`: 읽어올 데이터의 플래그 (옵션)
- `$message`: 읽어온 데이터를 저장할 변수 (리턴값)
recv() 함수의 반환값
recv() 함수의 반환값은 읽어온 데이터의 길이입니다.
예제
다음은 recv() 함수를 사용하는 예제입니다.
#hostingforum.kr
php
<?php
// 소켓 생성
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 소켓에 연결
socket_connect($sock, '127.0.0.1', 8080);
// 데이터를 읽어옵니다.
$data = socket_recv($sock, 1024);
// 읽어온 데이터를 출력합니다.
echo $data;
// 소켓을 닫습니다.
socket_close($sock);
?>
이 예제는 소켓을 생성하고, 127.0.0.1:8080에 연결합니다. 그리고 소켓에서 1024바이트의 데이터를 읽어와서 $data 변수에 저장합니다. 그리고 읽어온 데이터를 출력합니다.
recv() 함수의 플래그
recv() 함수의 플래그는 다음과 같습니다.
- `MSG_PEEK`: 읽어올 데이터를 확인할 때 사용합니다. 데이터를 읽어오지 않고, 데이터의 내용을 확인할 수 있습니다.
- `MSG_DONTROUTE`: 읽어올 데이터를 확인할 때 사용합니다. 데이터가 직접 라우팅되지 않고, 소켓에서만 데이터를 읽어올 수 있습니다.
- `MSG_DONTWAIT`: 읽어올 데이터를 확인할 때 사용합니다. 데이터가 없을 때까지 기다리지 않고, 데이터를 읽어올 수 있습니다.
예제 (플래그 사용)
다음은 recv() 함수를 사용하는 예제입니다. 플래그를 사용하여 데이터를 읽어옵니다.
#hostingforum.kr
php
<?php
// 소켓 생성
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 소켓에 연결
socket_connect($sock, '127.0.0.1', 8080);
// 플래그를 사용하여 데이터를 읽어옵니다.
$data = socket_recv($sock, 1024, MSG_PEEK);
// 읽어온 데이터를 출력합니다.
echo $data;
// 플래그를 사용하여 데이터를 읽어옵니다.
$data = socket_recv($sock, 1024, MSG_DONTROUTE);
// 읽어온 데이터를 출력합니다.
echo $data;
// 플래그를 사용하여 데이터를 읽어옵니다.
$data = socket_recv($sock, 1024, MSG_DONTWAIT);
// 읽어온 데이터를 출력합니다.
echo $data;
// 소켓을 닫습니다.
socket_close($sock);
?>
이 예제는 소켓을 생성하고, 127.0.0.1:8080에 연결합니다. 그리고 소켓에서 1024바이트의 데이터를 읽어와서 $data 변수에 저장합니다. 그리고 읽어온 데이터를 출력합니다. 플래그를 사용하여 데이터를 읽어옵니다.
참고
recv() 함수는 소켓에서 데이터를 읽어오는 함수입니다. 이 함수는 소켓에서 데이터를 읽어와서 변수에 저장하는 역할을 합니다. recv() 함수의 매개변수는 소켓 핸들, 읽어올 데이터의 길이, 읽어올 데이터의 플래그, 읽어온 데이터를 저장할 변수입니다. recv() 함수의 반환값은 읽어온 데이터의 길이입니다. recv() 함수의 플래그는 MSG_PEEK, MSG_DONTROUTE, MSG_DONTWAIT입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.