Я устанавливаю трещотку php websocket.
Я делаю pcntl_fork в методе onMessage для работы с каждым клиентом в новом потоке.
public function onMessage(ConnectionInterface $from, $msg) {
$pid = pcntl_fork();
if ($pid == -1) {
$this->myPrint("cant create fork");
} else if ($pid) {
} else {
// ..... $result
$from->send($result);
// $pid = getmypid();
// exit($pid);
}
}
если я пытаюсь закрыть дочерний процесс, клиент не получает никакого сообщения. ($ from-> send ($ result) не работает).
если я комментирую выход ($ pid). Клиент получает сообщение.
Как правильно закрыть дочерний процесс?
я пытался сделать выход с:
function _exit() {
posix_kill(posix_getpid(), SIGTERM);
}
но у меня все еще есть проблема
Задача ещё не решена.
Других решений пока нет …