Я использую сервер websocket, созданный с помощью php (Ratchet http://socketo.me/), который работает нормально, когда я соединяюсь с нативным API JavaScript. Но когда я пытаюсь отправить на сервер с помощью php, это займет слишком много времени (10 секунд или больше!).
Ratchet не предоставляет (насколько мне известно) какой-либо метод для создания push-кода с его собственным API, поэтому я использую этот: https://github.com/Textalk/websocket-php
Запрос очень прост:
//...
//Insert data into database ...
//Push data to the server, so the other clients get updated
$data = json_encode($requestData);
$client = new \WebSocket\Client("ws://localhost:10000");
$client->send($data); //<--10 sec request :(
//...
Я посмотрел код клиента и добавил несколько строк (только для целей тестирования):
stream_set_blocking($this->socket, 0);
а также
$client->setTimeout(1);
Но, похоже, не работает. Любая помощь будет очень признательна.
Задача ещё не решена.
Других решений пока нет …