Как лучше организовать обмен данными UDP?

209
08 апреля 2018, 23:15

Разрабатываю клиент-серверное приложение, где клиенты обмениваются данными в реальном времени. Немного разобравшись в теме, выбрал наиболее подходящий протокол для обмена данными - UDP. Всё вроде бы работает, но начала возрастать сложность отправляемых на сервер данных. Отправляемые данные - это набор из различных структур. Особенность в том, что в наборе может быть как одна структура, так и несколько одинаковых или разных. Например, в одну секунду клиент захочет передать серверу свои координаты (два числа), которые отправятся одним пакетом. А в другую секунду клиент захочет отправить свои координаты, строковое сообщение, а затем ещё байтовый массив. Вопрос заключается в следующем: как лучше организовать обмен данными - каждую отдельную структуру отправлять отдельным пакетом, или же сериализовать все отправляемые данные в один пакет, а потом парсить их на сервере? Приоритеты у задачи - на первом месте, наверное, стараться как можно меньше данных отправлять по интернету, потом - важно иметь скорость сериализации/десериализации информации как можно выше. Как минимум, я полагаю, что при отправке каждой структуры в отдельном пакете возрастёт количество данных, передаваемых через сеть, т.к. каждому пакету ещё присваивается заголовок с адресами и прочим. PS: одна структура почти всегда весит не больше 40 байт. Язык разработки C#.

READ ALSO
c# Наложение одной формы на другую. Picturebox

c# Наложение одной формы на другую. Picturebox

Добрый деньНаписал программу, которая делает скрин выделенной части экрана

208
Передача цвета из одной формы в другую

Передача цвета из одной формы в другую

Доброго времени суток!Такая проблема: Создалa Form1(там должен меняться цвет), создалa Form2, кинулa туда кнопку, комбо бокс, что-то вроде выпадающего...

170
Подсчитать кол-во слов в строке C#

Подсчитать кол-во слов в строке C#

Нужно в тексте подсчитать количество определенных слов, например:

344
Лямбда выражения в c# ASP.NET MVC

Лямбда выражения в c# ASP.NET MVC

В учебном материале есть такой листинг:

198