Я очень новичок в PHP, так что это может быть что-то простое. В любом случае, я пытаюсь создать двустороннюю связь между скриптом PHP (активированным веб-клиентом) и локальным процессом (написанным на C ++). Сценарий PHP должен отправить некоторую информацию процессу C ++, а затем дождаться ответа. Моя проблема в том, что единственный способ установить такой тип связи - использовать socket_bind, но когда я это сделаю, произойдет сбой с ошибкой «адрес уже используется». Рассматриваемый файл сокета / tmp / sock уже создан процессом C ++, который работает непрерывно (он не может быть запущен сценарием PHP). Если я использую socket_connect и просто что-то записываю в процесс C ++, это прекрасно работает; но мне нужно связать, прежде чем я смогу прослушать этот сокет из сценария PHP. Вот мой код:
<?php
error_reporting(E_ALL);
/* Allow the script to hang around waiting for connections. */
set_time_limit(0);
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
//Adapted from http://www.php.net/manual/en/sockets.examples.php
if (($sock = socket_create(AF_UNIX, SOCK_STREAM,0)) === false)
{
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
exit();
}
if (socket_bind($sock, '/tmp/sock') === false) //Fails here
{
echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
....
Спасибо -