라이브러리
[PHP] stream_socket_recvfrom - 소켓에서 데이터를 수신합니다(연결 여부와 관계 없음)
Stream Socket recvfrom
PHP의 `stream_socket_recvfrom` 함수는 소켓에서 데이터를 수신하는 데 사용되는 함수입니다. 이 함수는 소켓에서 데이터를 읽어와서 해당 데이터를 변수에 저장하는 역할을 합니다.
함수 구조
`stream_socket_recvfrom` 함수의 구조는 다음과 같습니다.
#hostingforum.kr
php
string stream_socket_recvfrom ( resource $fd , string &$buf , int $len , int $flags [, string $source_ip [, int $source_port ]] )
* `$fd` : 소켓의 파일 디스크립터입니다.
* `$buf` : 데이터를 저장할 변수입니다.
* `$len` : 읽어올 데이터의 길이를 지정합니다.
* `$flags` : 읽어올 데이터의 옵션을 지정합니다. (예: `MSG_PEEK` , `MSG_DONTROUTE` 등)
* `$source_ip` : 데이터를 보낸 클라이언트의 IP 주소를 지정합니다.
* `$source_port` : 데이터를 보낸 클라이언트의 포트 번호를 지정합니다.
예제
다음은 `stream_socket_recvfrom` 함수를 사용하는 예제입니다.
#hostingforum.kr
php
// 소켓을 생성합니다.
$sock = stream_socket_server("tcp://0.0.0.0:8080", $errno, $errstr);
// 소켓에 연결한 클라이언트의 IP 주소와 포트 번호를 저장합니다.
$source_ip = "";
$source_port = 0;
// 데이터를 읽어와서 저장합니다.
$buf = "";
$len = 1024;
$flags = 0;
stream_socket_recvfrom($sock, $buf, $len, $flags, $source_ip, $source_port);
// 읽어온 데이터를 출력합니다.
echo "클라이언트 IP 주소 : $source_ip
";
echo "클라이언트 포트 번호 : $source_port
";
echo "읽어온 데이터 : $buf
";
// 소켓을 닫습니다.
fclose($sock);
이 예제에서는 소켓을 생성하고, 소켓에 연결한 클라이언트의 IP 주소와 포트 번호를 저장합니다. 그리고 `stream_socket_recvfrom` 함수를 사용하여 데이터를 읽어와서 저장합니다. 읽어온 데이터를 출력하고, 소켓을 닫습니다.
참고
* `stream_socket_recvfrom` 함수는 소켓에서 데이터를 읽어와서 저장하는 데 사용됩니다.
* 이 함수는 소켓의 파일 디스크립터를 필요로 하며, 읽어올 데이터의 길이를 지정해야 합니다.
* `$source_ip` 및 `$source_port` 변수는 데이터를 보낸 클라이언트의 IP 주소와 포트 번호를 저장합니다.
* `$flags` 변수는 읽어올 데이터의 옵션을 지정할 수 있습니다. (예: `MSG_PEEK` , `MSG_DONTROUTE` 등)
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.