PHP에서 Stream_Socket_Client () 함수는 네트워크 연결 또는 UNIX 도메인 소켓 연결을 여는 데 사용됩니다. 시간 초과 설정, 암호화, 프록시 등과 같은 많은 옵션을 지원합니다.이 옵션은 stream_context_create () 에 의해 생성되며 Stream_Socket_client () 에 컨텍스트로 전달됩니다.
이 기사에서는 stream_socket_client () 함수를 사용하는 방법을 소개합니다. stream_context_get_options ()를 결합하여 소켓 구성을 얻고 봅니다.
먼저 Stream_Socket_Client () 에 대한 컨텍스트를 작성해야합니다. 컨텍스트는 네트워크 연결의 동작을 제어하는 여러 구성 옵션을 포함하는 구조입니다. 예를 들어, 연결의 시간 초과 시간을 설정하고 SSL 암호화를 활성화 할 수 있습니다.
// 스트림 컨텍스트를 만듭니다
$options = [
'http' => [
'method' => 'GET',
'header' => "User-Agent: PHP\r\n",
],
'ssl' => [
'verify_peer' => false, // 피어 인증서를 확인하지 않습니다
'verify_peer_name' => false, // 피어 인증서를 확인하지 않습니다名称
]
];
$context = stream_context_create($options);
위의 코드에서는 HTTP 구성 및 SSL 구성을 만듭니다.이 구성은 피어 인증서를 확인하지 않도록 연결됩니다.
다음으로 Stream_Socket_Client ()를 사용하여 TCP 연결을 엽니 다. 연결할 때 컨텍스트를 매개 변수로 전달합니다.
// 컨텍스트로 열립니다 TCP 연결하다
$fp = stream_socket_client("tcp://m66.net:80", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
if (!$fp) {
echo "연결하다失败: $errno - $errstr\n";
exit;
}
이 코드에서는 M66.net 의 포트 80에 연결합니다. 연결이 성공하면 $ FP를 통해 데이터를 읽고 쓸 수 있습니다.
연결이 설정되면 Stream_Context_get_options () 함수를 사용하여 응용 구성 옵션을 볼 수 있습니다. 이 함수는 모든 구성 옵션을 포함하는 배열을 반환합니다.
// 현재 스트림에 대한 구성 옵션을 가져오고 표시합니다
$options = stream_context_get_options($context);
echo '<pre>';
print_r($options);
echo '</pre>';
위의 코드는 현재 스트림의 구성 옵션을 인쇄합니다. 예를 들어 HTTP 및 SSL 구성을 설정하면 출력이 다음과 같습니다.
Array
(
[http] => Array
(
[method] => GET
[header] => User-Agent: PHP
)
[ssl] => Array
(
[verify_peer] =>
[verify_peer_name] =>
)
)
stream_socket_client () 및 stream_context_get_options ()를 결합하여 소켓 구성을 쉽게보고 디버그 할 수 있습니다. 연결 시간 초과, 암호화 옵션 또는 기타 사용자 정의 구성 항목을 설정하든 Stream_Context_get_options ()는 적용된 구성을 볼 수 있습니다.
이 기사가 PHP에서 스트리밍 컨텍스트 사용 방법을 더 잘 이해하고 관련 구성을 얻는 방법을 더 잘 이해할 수 있기를 바랍니다.