сокеты — определение ip и порта в соединении между двумя клиентами

1- когда мы используем stream_socket_client () для подключения от клиента A к B. мы указываем порт B и подключаемся к нему, а порт A является случайным. мы можем указать порт A тоже ??

2- Я использую этот код для приема входящих соединений:

$a = stream_socket_server('tcp://localhost:9056');
$b = stream_socket_accept($a);
$c = fread($b,1000);

теперь как определить ip и порт входящего соединения ??

0

Решение

  1. Да, ты можешь.

    $opts = array(
    'socket' => array(
    'bindto' => '0:7000',
    ),
    );

    $context = stream_context_create($opts);

    $fp = stream_socket_client("tcp://localhost:9056", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context );

  2. Вы можете получить информацию о сокете клиента, используя stream_socket_get_name функция.

    $a = stream_socket_server('tcp://localhost:9056');
    $b = stream_socket_accept($a);
    $addr = stream_socket_get_name($b,true);
    $c = fread($b,1000);

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]