Вот рассол, в котором вы находитесь: вы сжимаете вещи с помощью Gzip. Gzip ужасен для простого текста до тех пор, пока вы не достигнете длины общих сочинений Диккенса или около 1200 строк кода. Накладные расходы на словарь и другие вещи, которые Gzip использует для сжатия.
1 Кбит / с подходит для задания 7500 символов (при оптимальных условиях это займет около минуты, но для <300 символов все будет в порядке!) Однако, если вы действительно заинтересованы, вы собираетесь хочу сжать это для краткости. Вот как я делаю вещи такого масштаба: </p>
T[ype]L[ength][data data data]+
То есть, что T представляет ТИП. скажем, 0x01 для INT, 0x02 для STRING и т. д. LENGTH - это просто целое число ... поэтому 0xFF = 254 символа и т. д. Пример пакета данных будет выглядеть так:
0x01 0x01 0x3F 0x01 0x01 0x2D 0x02 0x06 H E L L O 0x00
Это говорит о том, что у меня есть INT, длина 1, значения 0x3F, INT, длина 1, значения 0x2D, затем STRING, длина 6 с нулем в конце "HELLO" (предположил Ascii). Узнайте о чудесах System.Text.Encoding.Utf8.getBytes, BitConverter и ByteConverter.
для справки см. Эта страница , чтобы узнать, сколько составляет 1 Кбит / с. Действительно, для размера, с которым вы имеете дело, все должно быть в порядке.