Я проверил код и протестировал в моей системе, и он работает правильно. Отображается как «клиент здесь» после запуска клиента.
Имя файла: server.php
<?php
$address="127.0.0.1";
$port=9875;
echo "I am here";
set_time_limit (0);
if(false==($socket= socket_create(AF_INET,SOCK_STREAM, SOL_TCP)))
{
echo "could not create socket";
}
socket_bind($socket, $address, $port) or die ("could not bind socket");
socket_listen($socket);
if(($client=socket_accept($socket)))
echo "client is here";
socket_close($socket);
?>
Сначала запустите файл server.php.
Файл: client.php
<?php
$host="127.0.0.1" ;
$port=9875;
$timeout=30;
$sk=fsockopen($host,$port,$errnum,$errstr,$timeout) ;
if (!is_resource($sk)) {
exit("connection fail: ".$errnum." ".$errstr) ;
} else {
echo "Connected";
}
?>
Теперь запустите client.php
Ваш вывод должен быть таким (как я получил в моей системе)
Я здесь, клиент здесь
Если нет, убедитесь, что ваш брандмауэр не блокирует запрос. Временно отключите антивирус, если он у вас есть.