Отправить 5 МБ данных через сокет? - PullRequest
2 голосов
/ 16 января 2011

Привет! Я хочу отправить фиксированный объем данных (скажем, 5 МБ) с сервера клиенту Android через TCP с использованием языка программирования Java.Данные не имеют значения, они будут сброшены на клиенте. Я делаю это только для измерения производительности телефона.

Кто-нибудь может порекомендовать хороший способ сделать это?Как я могу сделать так, чтобы сервер постоянно отправлял большой объем данных?Без прерывистого чтения строки из файла, затем отправки этих байтов ... затем чтения другой строки и отправки этих.

Идеи?Приветствия.

Ответы [ 2 ]

2 голосов
/ 16 января 2011

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

// server which sends 5 MB on connection.
ServerSocket ss = 
Socket s = ss.accept();
s.getOutputStream().write(new byte[5*1024*1024]);
s.close();
0 голосов
/ 16 января 2011

Вы можете иметь байтовый массив размером 1024 и циклически отправлять его из сокета снова и снова.Данные не должны быть уникальными.Вы можете использовать больший массив, если считаете, что КБ недостаточно для вас.

Похоже, вы спрашивали о сервере там.Вы также интересовались клиентом?

...