Вы действительно должны думать о том, хотите ли вы действительно проектировать, документировать и поддерживать собственный протокол или использовать то, что уже существует. Вероятно, уже есть документированный протокол, который соответствует вашим потребностям. В зависимости от того, что вы делаете, это, вероятно, сначала будет излишним, и реализация всех спецификаций будет выглядеть утомительно и намного менее забавно, чем писать ваши собственные, но если вы намерены продолжать разработку своего приложения через несколько лет, это должно сэкономить вам много времени и денег, чтобы использовать то, что уже существует и известно третьими лицами. Кроме того, если вы можете использовать существующую библиотеку для этого протокола, часть реализации должна быть намного быстрее.
Разработка нового протокола более увлекательна, чем реализация одного, но менее, чем поддержание одного из них, поскольку вы должны жить со всеми дефектами. Ни один протокол не является совершенным, но если вы его никогда не разрабатывали, вы можете быть уверены, что будете ошибаться в его разработке, чем люди, которые разработали существующий хорошо известный протокол, который вы могли бы использовать вместо этого.
Короче говоря, используйте то, что уже существует, когда это возможно.
Возможно, было бы предпочтительнее использовать ненадежные потери. Просто для nitpick: D – mdec 2008-11-10 09:57:45
UDP - это не только потеря, но и доставка пакетов по порядку. Это неприятно. – 2008-11-10 10:53:26