Loading:


    socket_create_pair

    bool socket_create_pair ( int $domain , int $type , int $protocol , array &$fd )

    Tworzy pare gniazd nie do rozróżnienia i  zapisuje je w tablicy

    Parametry

     

    domain - ten parametr określa z jakiej rodziny protokołów zostało użyte gniazdo


    type -
    ten parametr typ komunikacji użytej przez gniazdo


    protocol -
    ustawia określony protokół wewnątrz określonej domeny użytej podczas komunikacji zrwóconej przez gniazdo.


    fd - Odniesienie do tablicy, w której będą oba gniazda

     

     

    Zwracane wartości

    Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.

     



    Napisz Artyku³

    Listing


    //Example #1 socket_create_pair() example

    <?php
    $sockets = array();
    /* przygotowanie pary gniazd */
    if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets) === false) {
        echo "socket_create_pair nieudane. Powód: ".socket_strerror(socket_last_error());
    }
    /* Wysyłanie i odbieranie danych*/
    if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
        echo "socket_write() nieudane. Powód: ".socket_strerror(socket_last_error($sockets[0]));
    }
    if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ) === false) {
        echo "socket_read() nieudane. Powód: ".socket_strerror(socket_last_error($sockets[1]));
    }
    var_dump($data);

    /* zamekamy gniazda */
    socket_close($sockets[0]);
    socket_close($sockets[1]);
    ?>

    Example #2 socket_create_pair() IPC example
    <?php
    $ary = array();
    $strone = 'Message From Parent.';
    $strtwo = 'Message From Child.';
    if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
        echo "socket_create_pair() nieudane. Powód: ".socket_strerror(socket_last_error());
    }
    $pid = pcntl_fork();
    if ($pid == -1) {
        echo 'proces nie powinien sie rozwidlać.';
    } elseif ($pid) {
        /*parent*/
        socket_close($ary[0]);
        if (socket_write($ary[1], $strone, strlen($strone)) === false) {
            echo "socket_write() nieudane. Powód: ".socket_strerror(socket_last_error($ary[1]));
        }
        if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
            echo "Recieved $strtwo\n";
        }
        socket_close($ary[1]);
    } else {
        /*child*/
        socket_close($ary[1]);
        if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
            echo "socket_write() nieudane. Powód: ".socket_strerror(socket_last_error($ary[0]));
        }
        if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
            echo "Recieved $strone\n";
        }
        socket_close($ary[0]);
    }
    ?>
     




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors