2009-09-16 2 views
0

При использовании связи сокетов в PHP нужно ли мне проверять, было ли сообщение успешно получено после отправки каждого сообщения? Или транспортный уровень (TCP) будет заботиться об обнаружении и исправлении ошибок, обеспечивая успешную доставку любых отправленных сообщений?Должны ли быть исправлены ошибки в данных сокета?

ответ

3

Вам не нужно беспокоиться о таких вещах на этом уровне. После того, как вы напишете данные в открытый сокет, вы можете быть уверены, что он в конечном итоге поступит правильно (при условии, что существует маршрут между конечными точками). То, что вы должно заботиться о возвратных значениях функций сокетов. Проверьте все возвратные значения функций socket_* для надежной связи.

2

Вы можете смело полагать, что данные были успешно получены, если функция php не указывает на какую-либо конкретную ошибку.

5

TCP обрабатывает обнаружение ошибок и коррекцию, насколько это возможно. На самом деле нет такой вещи, как , обеспечивающей успешную доставку (см. backhoe fade), поэтому есть некоторый уровень, на котором вам нужно учитывать возможность того, что сообщение не будет доставлено.

Смежные вопросы