отправка огромных объемов данных TCP - PullRequest
0 голосов
/ 06 марта 2011

Так что я работаю с C #, и мне приходится отправлять все больше и больше данных каждый раз, когда клиент устанавливает первоначальное соединение. сделать это было бы, чтобы разбить мой большой объем данных на 500 или более меньших порций, и отправить их по отдельности. Будет ли это приемлемой практикой? или лучше отправить одно гигантское сообщение.

1 Ответ

1 голос
/ 06 марта 2011

Что я делаю при отправке больших объемов данных - отправляю их по 100 штук, каждая из которых имеет размер более 50 КБ, а затем обновляет индикатор выполнения в соответствии с текущим процентом. Я делаю это путем сериализации файла в byte [], а затем в цикле while, затем отправляю Application.DoEvents() для обновления пользовательского интерфейса.

Я уверен, что вы также можете использовать асинхронные фоновые рабочие, а затем событие Update увеличивает индикатор выполнения.

Я бы сказал, если ты можешь разделить это, сделай это. Потому что, если в соединении есть прерывание, вы всегда можете перезагрузить и т. Д. Вот почему bittorrent и ilk делят файл на куски.

Просто убедитесь, что у вас есть хорошие контрольные суммы и обнаружение ошибок. Чем больше частей вы разделяете, тем больше частей вы должны отслеживать.

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