Нужно ли исправлять ошибки в данных сокета? - PullRequest
0 голосов
/ 16 сентября 2009

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

Ответы [ 4 ]

5 голосов
/ 16 сентября 2009

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

3 голосов
/ 16 сентября 2009

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

2 голосов
/ 16 сентября 2009

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

...