Я довольно плохо знаком с тем, как работают сокеты. Я нахожусь в процессе обучения, но есть вещи, которые я не могу понять, сколько бы я ни искал.
Я сделал этот простой скрипт сегодня:
<?php
$ip = getHostByName(getHostName()); //Get IP of machine
$address = $ip;
$port = 34242;
echo "Starting up data processing server...\n";
$socket = socket_create(AF_UNIX, SOCK_STREAM, 0);
if($socket === false){
echo "Socket failed to connect.\n";
exit(1);
}
socket_set_nonblock($socket);
$stopped = false;
$lastread = microtime(true);
while($data = socket_read($socket, 4) && !$stopped){
$lastread = microtime(true);
}
echo("Closing data processing server, bye!\n");?>
Теперь, когда я запускаю его в своей консоли (локальный хост), я получаю ошибку:
Warning: socket_read(): unable to read from socket [57]: Socket is not connected in /Users/***/Desktop/sockt.php on line 22
Что я делаю неправильно? Я намерен создать сокет, через который можно передавать данные клиентам.
тебе нужно socket_connect, для его создания недостаточно (это просто для настройки вещей)
вам не нужно ни $address
ни $port
, ; О)
Других решений пока нет …