TCP: многие к одному, лучшие практики по отслеживанию вещей - PullRequest
0 голосов
/ 22 февраля 2012

Я разработал базовую настройку tcp клиент-сервер, и он работает, но мне хотелось бы получить некоторые идеи о том, как лучше всего обрабатывать / структурировать / управлять входящими и исходящими запросами.

Мое клиентское приложение можетполучать данные, не запрашивая их, и он также ожидает данные после целенаправленного запроса.

Там, где я сейчас нахожусь, у меня есть базовые уловки на входящие сообщения с заголовками, чтобы определить, что делать с входящим сообщением.

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

Это общий способ обработки tx / rx, которые зависят друг от друга?

Спасибо за ваш вклад.

1 Ответ

0 голосов
/ 24 февраля 2012

в вашей реализации вы можете иметь только одно выдающееся сообщение со стороны клиента, неясно, для чего вы хотите создать. Это делается обоими способами, это зависит от вашего дизайна. Обычно это делается многослойно. Это возможные слои:

  1. самый низкий уровень: вы обрабатываете детали подключения
  2. следующий уровень: какой-то протокол кадрирования: разработать кадр на основе потока байтов tcp
  3. третий уровень: иметь некоторые заголовки протокола, которые понимают клиент и сервер. У вас может быть номер сообщения в заголовке, чтобы вы могли обрабатывать несколько ожидающих сообщений и пакетов уведомлений об ошибках.

это краткое описание нормальных практик, в каждый слой можно добавить множество значений. ТНХ!

...