Я разрабатываю чат-сервер с помощью библиотеки PHP Ratchet, и у меня есть сомнения по поводу отправки сообщения:
У меня есть два метода: onOpen(ConnectionInterface $conn)
и onError(ConnectionInterface $conn, \Exception $e)
.
Когдаклиент подключается к чату, вызывается метод onOpen, и я хотел бы отправить ответное сообщение, поэтому я делаю $conn->send($data)
.
, если есть ошибка, вызывается onError
, но если ее нетerror Как узнать, все ли прошло успешно, так как поток все равно продолжается?(У меня нет метода успеха).
Я задаю вам следующий вопрос, потому что мне приходится справляться со следующей ситуацией: когда я отправляю сообщение клиенту, если метод "send" идет не так, у менясохранить в базе данных сообщение, которое я не смог отправить, и попытаться отложить его позже, а если отправка прошла успешно, мне не нужно ничего сохранять.Моя проблема заключается в том, что если метод "send" идет не так, вызывается метод "onError", и у меня есть только экземпляр о "ConnectionInterface", но нет сообщения, которое я не смог отправить, поэтому в таком случае, как я мог?сделать, чтобы восстановить его?
Надеюсь, я ясно объяснил проблему