현재 위치: > 함수 카테고리 모음> stream_socket_recvfrom

stream_socket_recvfrom

연결된 소켓 또는 연결되지 않은 소켓에서 데이터를 수신합니다
이름:stream_socket_recvfrom
분류:개울
사용 언어:php
한 줄 설명:소켓에서 데이터를 수신하고 수신 된 데이터를 반환합니다.

함수 이름 : stream_socket_recvfrom ()

함수 설명 : stream_socket_recvfrom () 함수는 소켓에서 데이터를 수신하고 수신 된 데이터를 반환합니다.

해당 버전 : PHP 5> = 5.3.0, PHP 7

구문 : stream_socket_recvfrom (resource $ socket, int $ length [, int $ flags = 0 [, string & $ address]]) : String | false

매개 변수 :

  • $ socketwich : 필수, stream_socket_client () 또는 stream_socket_server () 함수를 통해 만들 수있는 오픈 소켓 리소스를 나타냅니다.
  • $ 길이 : 필수, 수신 할 최대 데이터 길이를 나타냅니다.
  • $ 플래그 : 선택 사항, 데이터를 수신 할 때 추가 옵션을 지정하는 데 사용됩니다.
  • $ 주소 : 선택 사항, 발신자의 IP 주소 및 포트 번호를 저장하는 데 사용됩니다.

반환 값 : 성공하면 수신 된 데이터를 반환하고 실패시 False를 반환합니다.

예:

  1. 데이터 수신 및 인쇄 :

$ socket = stream_socket_client ( "udp : //127.0.0.1 : 1234", $ errno, $ errstr); if (! $ socket) {echo "연결 실패 : $ errstr ($ errno)"; } else {$ data = stream_socket_recvfrom ($ socket, 1024); echo "수신 데이터 : $ 데이터"; fclose ($ 소켓); }

  1. 데이터를 수신하고 발신자의 IP 주소 및 포트 번호를 얻으십시오.

$ socket = stream_socket_server ( "udp : //127.0.0.1 : 1234", $ errno, $ errstr, stream_server_bind); if (! $ socket) {echo "서버를 시작하지 못했습니다 : $ errstr ($ errno)"; } else {$ client = stream_socket_accept ($ socket); $ data = stream_socket_recvfrom ($ client, 1024, 0, $ 주소); echo "수신 데이터 : $ 데이터"; Echo "발신자 주소 : $ 주소"; fclose ($ client); fclose ($ 소켓); }

참고 :

  • stream_socket_recvfrom () 함수는 스트림 소켓 (예 : TCP, UDP)을 지원하는 전송 프로토콜에만 적합합니다.
  • UDP 프로토콜을 사용하는 경우 소켓을 생성 할 때 "udp : //"프로토콜 접두사를 지정해야합니다.
  • $ 주소 매개 변수가 지정되면 함수는 변수에 발신자의 IP 주소와 포트 번호를 저장합니다.
  • $ 길이 매개 변수는 수신 할 최대 데이터 길이를 지정합니다. 수신 된 실제 데이터 길이 가이 값을 초과하면 데이터의 일부만 리턴됩니다.
  • $ flags 매개 변수를 사용하여 데이터를 수신 할 때 옵션을 지정할 수 있습니다. 일반적인 옵션에는 MSG_WAITALL (지정된 길이의 데이터가 수신 될 때까지 기다림) 및 MSG_DONTWAIT (비 차단 모드)가 포함됩니다.
  • 데이터를 수신하기 전에 stream_socket_client () 또는 stream_socket_server () 함수를 사용하여 생성 할 수있는 소켓 리소스를 만들어야합니다.
유사한 함수