Position actuelle: Accueil> Derniers articles> Utilisez stream_socket_client () et combinez stream_context_get_options () pour obtenir une configuration de socket

Utilisez stream_socket_client () et combinez stream_context_get_options () pour obtenir une configuration de socket

M66 2025-05-28

Dans PHP, la fonction Stream_Socket_Client () est utilisée pour ouvrir une connexion réseau ou une connexion de socket de domaine UNIX. Il prend en charge de nombreuses options telles que les paramètres de délai d'expiration, le chiffrement, le proxy, etc. Ces options sont créées par Stream_Context_Create () et transmises en contexte à Stream_Socket_Client () .

Cet article présentera comment utiliser la fonction Stream_Socket_Client () , combinez Stream_Context_get_Options () pour obtenir et afficher la configuration du socket.

Étape 1: Créez un contexte de socket

Tout d'abord, nous devons créer un contexte pour Stream_Socket_Client () . Un contexte est une structure contenant plusieurs options de configuration qui contrôlent le comportement des connexions réseau. Par exemple, nous pouvons définir l'heure du délai d'expiration pour la connexion, activer le cryptage SSL, etc.

 // Créer un contexte de flux
$options = [
    'http' => [
        'method' => 'GET',
        'header' => "User-Agent: PHP\r\n",
    ],
    'ssl' => [
        'verify_peer' => false,  // Ne pas vérifier les certificats de pairs
        'verify_peer_name' => false,  // Ne pas vérifier les certificats de pairs名称
    ]
];
$context = stream_context_create($options);

Dans le code ci-dessus, nous créons une configuration HTTP et une configuration SSL, qui permet à la connexion de ne pas vérifier le certificat de pair.

Étape 2: Ouvrez la connexion via Stream_Socket_Client ()

Ensuite, nous utilisons Stream_Socket_Client () pour ouvrir une connexion TCP. Lors de la connexion, nous passons le contexte en tant que paramètre.

 // Ouvert avec contexte TCP connecter
$fp = stream_socket_client("tcp://m66.net:80", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);

if (!$fp) {
    echo "connecter失败: $errno - $errstr\n";
    exit;
}

Dans ce code, nous nous connectons au port 80 de M66.net . Une fois la connexion réussie, nous pouvons lire et écrire des données via $ fp .

Étape 3: Utilisez stream_context_get_options () pour afficher la configuration

Une fois la connexion établie, nous pouvons utiliser la fonction Stream_Context_get_Options () pour afficher les options de configuration appliquées. Cette fonction renvoie un tableau contenant toutes les options de configuration.

 // Obtenir et afficher les options de configuration pour le flux actuel
$options = stream_context_get_options($context);
echo '<pre>';
print_r($options);
echo '</pre>';

Le code ci-dessus imprimera les options de configuration pour le flux actuel. Par exemple, si vous configurez des configurations HTTP et SSL, la sortie ressemblera à:

 Array
(
    [http] => Array
        (
            [method] => GET
            [header] => User-Agent: PHP
        )
    [ssl] => Array
        (
            [verify_peer] => 
            [verify_peer_name] => 
        )
)

Résumer

En combinant stream_socket_client () et stream_context_get_options () , nous pouvons facilement afficher et déboguer la configuration du socket. Qu'il s'agisse de définir le délai d'expiration de connexion, les options de chiffrement ou d'autres éléments de configuration personnalisés, Stream_Context_get_Options () peut nous aider à afficher la configuration appliquée.

J'espère que cet article vous aidera à mieux comprendre comment utiliser le contexte de streaming en PHP et obtenir une configuration connexe.