Services webmasters
Partenaires
Jeux concours gratuits
 
Socket Errors
<<<
Exemples socket_accept
>>>

7.99 Socket
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
Socket Errors
->Exemples
socket_accept
socket_bind
socket_clear_error
socket_close
socket_connect
socket_create_listen
socket_create_pair
socket_create
socket_get_option
socket_getpeername
socket_getsockname
socket_iovec_add
socket_iovec_alloc
socket_iovec_delete
socket_iovec_fetch
socket_iovec_free
socket_iovec_set
socket_last_error
socket_listen
socket_read
socket_readv
socket_recv
socket_recvfrom
socket_recvmsg
socket_select
socket_send
socket_sendmsg
socket_sendto
socket_set_block
socket_set_nonblock
socket_set_option
socket_shutdown
socket_strerror
socket_write
socket_writev

7.99.8 Exemples

Exemple de socket : serveur TCP/IP simple

Cet exemple montre comment créer un serveur simple. Changez les variables address et port pour vous adapter à votre configuration, et exécutez le. Vous pourrez alors vous connecter au serveur avec une commande comme ceci : telnet 192.168.1.53 10000 (en supposant que l'adresse et le port correspondent à votre configuration). Tout ce que vous saisissez après cela sera envoyé au serveur, et affiché en retour. Pour vous déconnecter, tapez 'quit'.


#!/usr/local/bin/php -q
<?php
error_reporting
(E_ALL);

/* Autorise l'exécution infinie du script, en attente de connexion. */
set_time_limit (0);

/* Active le vidage implicite des buffers de sortie, pour que nous
* puissions vois ce que nous lisons au fur et a mesure. */
ob_implicit_flush ();

$address = '192.168.1.53';
$port = 10000;

if ((
$sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) {
    echo
"socket_create() a échoué : raison : " . socket_strerror ($sock) . "\n";
}

if ((
$ret = socket_bind ($sock, $address, $port)) < 0) {
    echo
"socket_bind() a échoué : raison : " . socket_strerror ($ret) . "\n";
}

if ((
$ret = socket_listen ($sock, 5)) < 0) {
    echo
"socket_listen() a échoué : raison : " . socket_strerror ($ret) . "\n";
}

do {
    if ((
$msgsock = socket_accept($sock)) < 0) {
        echo
"socket_accept() a échoué : raison : " . socket_strerror ($msgsock) . "\n";
        break;
color="#007700">,
strlen($msg));

    do {
        if (
FALSE === ($buf = socket_read ($msgsock, 2048))) {
            echo
"socket_read() a échoué : raison : " . socket_strerror ($ret) . "\n";
            break
2;
        }
        if (!
$buf = trim ($buf)) {
            continue;
        }
        if (
$buf == 'quit') {
            break;
        }
        if (
$buf == 'shutdown') {
            
socket_close ($msgsock);
            break
2;
        }
        
$talkback = "PHP: You said '$buf'.\n";
        
socket_write ($msgsock, $talkback, strlen ($talkback));
        echo
"$buf\n";
    } while (
true);
    
socket_close ($msgsock);
} while (
true);

socket_close ($sock);
?>

Exemple avec les sockets : Client TCP/IP simple

Ce exemple illustre un client HTTP simple. Il se connecte simplement à une page, envoie une requête HEAD, affiche le résultat, et se termine.

<< Exemples >>
Socket Errors Socket socket_accept
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -