Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Как создать счетчик трафика?


Автор: Anton Vatchenko 7.7.2006, 15:41
Сабж 

Автор: Samuil 7.7.2006, 15:54
??? чтобы это значило? 

Автор: Anton Vatchenko 7.7.2006, 16:12
Ты не знаешь, что такое счетчик трафика? У меня приложение, оно посылает запросы серверу. Нужно посчитать сколько (точно) байт отправлено, а сколько принято. Хотя суммы этих значений хватит. 

Автор: javastic 10.7.2006, 11:54
У меня все работает. SE k300i.  smile  

Автор: redrick 12.7.2006, 17:55
Anton Vatchenko
не думаю, что такое можно написать на pure J2ME, т.е. без использования вендоровских апей.
Максимум, что можно получить в MIDP, насколько я понимаю, это сокет. Но как мы посчитаем размеры служебных данных tcp ?

javastic
небось нативный счетчик-та ? =) 

Автор: javastic 13.7.2006, 08:51
redrick, а я через Network монитор эмулятора посмотрел. =)


Anton Vatchenko, а считывать Content-Length не пробовал? 
Или например организовать буфер 
Код

byte[] outgoingData;
byte[] incomingData;


а потом сумировать индекс переданной/принятой информации по кол-ву значений из буфера. 

Автор: redrick 18.7.2006, 17:31
javastic, откровенно говоря, я тебя не понимаю. Content-length - это размер данных в хттп запросе. А помимо этих данных есть еще куча всяких хендшейков и т.п. и т.д. Т.е. байтиков то летает больше чем Content-length 

Автор: W0LF 18.7.2006, 18:00
Да, так оно и есть. Кстати часто в приложениях, которые типа считают свой трафик, на самом деле он в два раза больше, чем они показывают smile 

Автор: javastic 31.7.2006, 14:30
redrick, если ты имеешь ввиду момент соединения и рассоединения с оператором связи, то тут уж извини, ты никогда не узнаешь, да и стоит ли это узнавать, когда ты платишь за трафик который ты сам создаешь?
А что непонятного? Подсчитываешь размер заголовка и размер переданных и принятых данных.
  

Автор: Vladimir35 5.8.2006, 13:33
Делается это так: все протоколы реализовываются на сокетах, и вручную считаеся сколько было отправленно, а сколько полученно. Других методов нет.

Автор: redrick 9.8.2006, 02:19
Цитата(javastic @  31.7.2006,  14:30 Найти цитируемый пост)
redrick, если ты имеешь ввиду момент соединения и рассоединения с оператором связи, то тут уж извини, ты никогда не узнаешь, да и стоит ли это узнавать, когда ты платишь за трафик который ты сам создаешь?

да не - на это можно и забить

а вот насчет
Цитата(javastic @  31.7.2006,  14:30 Найти цитируемый пост)
А что непонятного? Подсчитываешь размер заголовка и размер переданных и принятых данных.

формулы подсчета - в студию ! =)

Автор: javastic 9.8.2006, 11:06
Ну во первых размер буфера для "htpp://bla-bla-bla?p1=a&p2=b".getBytes() + подсчёт заголовка пользуясь методом getHeaderField(int n)  (в цикле суммируешь размер всех заголовков), первое и второе суммируешь и получаешь размер переданного пакета.

Автор: redrick 9.8.2006, 11:22
javastic
а http у нас поверх чего работает ?
Хотел написать TCP/IP, но это, канечно, не так. Для WAP вот http://www.topxml.com/wap/articles/wapart2/.
Так вот основная мысль всех моих возражений состоит в том, что счетчик провайдера(а он, наверное, стоит гдето в районе GateWay-я) считает байтики, а не символы http запроса/ответа.

вобщем, солидарен с Vladimir35

Автор: DarK__AngeL 9.7.2010, 22:35
Цитата(javastic @ 9.8.2006,  11:06)
Ну во первых размер буфера для "htpp://bla-bla-bla?p1=a&p2=b".getBytes() + подсчёт заголовка пользуясь методом getHeaderField(int n)  (в цикле суммируешь размер всех заголовков), первое и второе суммируешь и получаешь размер переданного пакета.

А как же header field key, request property, response code?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)