Каков наилучший способ передачи двоичных данных в сокетах TCP - PullRequest
2 голосов
/ 16 февраля 2012

Я разрабатываю клиент-серверное приложение на c # .net.Теперь я собираюсь выбрать механизм связи в пакетах клиент / сервер.Я хочу знать, что будет лучшим форматом для отправки и получения данных на сокетах.

Сериализация XML или Бинарная сериализация (я использую Marshalling, продемонстрированный в т.е.1006 * Хотя Xml serialize и сделает свою работу, но, как мы знаем, она будет медленнее.Поэтому я думаю, что двоичный маршаллинг будет хорошим вариантом.Но в этой технике я должен создать множество структур для каждого отдельного пакета, используемого в коммуникации.Мне нужна помощь, пожалуйста, предложите, если это единственный лучший способ использовать в этом сценарии или существует какой-то лучший способ достичь цели.

1 Ответ

0 голосов
/ 17 апреля 2012

Если сериализация Xml не умещается в одном кадре (1480 байт), то двоичное распределение будет отправлять меньше пакетов IP. Да, вам придется определить структуры для вашего пакета.

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

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