라이브러리

[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` 등)
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 116 페이지

검색

게시물 검색