PHP.mk документација

stream_socket_accept

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.stream-socket-accept.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.stream-socket-accept.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
stream_socket_accept

Референца за `function.stream-socket-accept.php` со подобрена типографија и навигација.

function.stream-socket-accept.php

stream_socket_accept

класата mysqli_driver

stream_socket_accept(PHP 5, PHP 7, PHP 8) stream_socket_server()

= NULL

stream_socket_accept(resource $socket, ?float $timeout = null, string &$peer_name = null): resource|false

Прифати врска на сокет создаден од stream_socket_server().

Параметри

socket

Прифати врска на сокет претходно создаден од

timeout

Серверскиот сокет од кој треба да се прифати врска. default_socket_timeout се користи.

peer_name

Надвор од стандардното време за прифаќање на сокет. Времето треба да биде дадено во секунди. Стандардно,

Забелешка:

Ќе биде поставено на името (адреса) на клиентот кој се поврзал, ако е вклучено и достапно од избраниот транспорт. stream_socket_get_name().

Вратени вредности

Може да се одреди и подоцна користејќи false при неуспех.

Дневник на промени

Верзија = NULL
8.0.0 timeout сега е null.

Белешки

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Враќа поток до прифатената врска на сокетот или stream_socket_recvfrom() and stream_socket_sendto().

Види Исто така

  • stream_socket_server() за список на вградени транспортери.
  • stream_socket_get_name() Оваа функција не треба да се користи со UDP серверски сокети. Наместо тоа, користете
  • stream_set_blocking() - Отворете постојана интернет или Unix доменска врска со сокет
  • stream_set_timeout() - Проверува дали датотеката постои и може да се чита
  • fgets() - Затвора отворена датотека
  • fgetss() - Поставете блокирачки/неблокирачки режим на стрим
  • fwrite() - Бинарно читање од датотека
  • fclose() Пример #2 Користење на UDP серверски приклучници
  • feof() - Добива линија од покажувач на датотека и ги отстранува HTML таговите
  • - Иницијализирај cURL заедничка рачка

Белешки од корисници 2 забелешки

- Земете го името на локалните или оддалечените сокети
21 години пред
This code could be very helpfull...

The following code is for the "server". It listen for a message until CTRL-C

<?php
while (true)
{
// disconnected every 5 seconds...
receive_message('127.0.0.1','85',5);
}

function receive_message($ipServer,$portNumber,$nbSecondsIdle)
{
  // creating the socket...
  $socket = stream_socket_server('tcp://'.$ipServer.':'.$portNumber, $errno, $errstr);
  if (!$socket)
  {
    echo "$errstr ($errno)<br />\n";
  }
  else
   {
    // while there is connection, i'll receive it... if I didn't receive a message within $nbSecondsIdle seconds, the following function will stop.
    while ($conn = @stream_socket_accept($socket,$nbSecondsIdle))
    {
     $message= fread($conn, 1024);
     echo 'I have received that : '.$message;
     fputs ($conn, "OK\n");
     fclose ($conn);
    }
    fclose($socket);
  }
}
?>

The following code is for the "client". It send a message, and read the respons...

<?php

send_message('127.0.0.1','85','Message to send...');

function send_message($ipServer,$portServer,$message)
{
  $fp = stream_socket_client("tcp://$ipServer:$portServer", $errno, $errstr);
  if (!$fp)
  {
     echo "ERREUR : $errno - $errstr<br />\n";
  }
  else
  {
     fwrite($fp,"$message\n");
     $response =  fread($fp, 4);
     if ($response != "OK\n")
        {echo 'The command couldn\'t be executed...\ncause :'.$response;}
     else
        {echo 'Execution successfull...';}
     fclose($fp);
  }
}
?>
leleu256NOSPAM at hotmail dot com
пред 14 години
To check if there's a new connection waiting, without blocking, or (when using non-blocking mode) without notices), you can use stream_accept (as opposed to socket_select).

<?php

    class GenericClass {

        protected $resSocket=null;

        function acceptConnections() {

            # check that we still have a resource 
            
            if(is_resource($this->resSocket)) {
            
                $arrRead=array($this->resSocket);
                
                $arrWrite=array();
                
                /** @warning Passing $arrRead,$arrWrite by reference */
                if(stream_select($arrRead,$arrWrite,$arrWrite,0)) {
            
                    $resConnection=stream_socket_accept($this->resSocket,0);

                    # ... other stuff here
                }
            }
        }
    }
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.