Subscribe to jlover2010's Blog        RSS Feed
-----

ITM, an internet traffic counter simply!

Icon Leave Comment
Introduction and Motivation
Internet Traffic Meter (ITM), is a GUI Java desktop application for traffic logging that I designed and developed in order to practice some advanced aspects of programming in Java SE, and to give a monitoring tool to my sister to alert her, if she exceeds using the supposed daily maximum traffic of 50 MB in our Pay Per Byte ADSL subscription with monthly 3 GB traffic limit!

Notes
ITM makes use of Jpcap framework libraries and relies on libpcap/winpcap to access data provided by network interface.

A long lasting issue: The last, and not the least challenge to develop this application, was to make Persian/Farsi characters displayable on the notification messages in Windows. A complete track of work around addressing this issue can be checked out here1.


As this project was developed initially for my own personal use, it was customized according to specific requirements, such as Persian UI and working based on system clock, off time between 1 to 7 am due to free of charge connection service in that period! However, it is generalizable, and my future plan is to internationalize it.
At the moment, I provided a selection screen shots, and provide explanation for every one of them, so that you can have some idea of what it performs while running the program!

Attached Image
The top dialogue is popped as the application is executed without having the properties file for its configuration (maximum threshold to alert, etc.) available; user is asked to either load default values or quit the app. The bottom one appears after user chose to use default configs, simply an information message of successful loading of the data!


Attached Image
This is the main frame; setting menu on top right corner, the Network Interfaces are detected and can be selected to be monitored. The fields with numbers (in Arabic) show the current amount of used traffic, and the maximum amount of daily allowed traffic usage (the bottom text field); The buttons on the left bottom corner are about to start/stop the calculation, and exit the app.
AND, don't be surprised if your card is not displayed! it is detected, but with some interesting name, such as 'microsoft'!!


Attached Image
Checking the first menu item sets the app to monitor the card which is selected in this course of run, automatically in the next run (if it was quited, so no more detection & selection of cards). Next is either to display the main frame or not, and the last one gives the possibility to increase the upmost threshold.

Attached Image
Here the specified amount of traffic is almost used up, therefore the app notifies the second alert in the notification area, by showing an orange tray icon and the information provided...

Attached Image
The continuous final alert, even though the calculation goes on...



Installation
As already mentioned, the libpcap/jpcap (depending on your os), and the jpcap are required to be installed to make this app function. The app itself (as you probably know) is packed into a Jar archive and is executable.


Download
Jpcap
WinPcap
libpcap
Internet Traffic Meter binaries: Attached File  ITM executable.zip (21.9K)
Number of downloads: 26
ITM source code files: Attached File  src.zip (11.56K)
Number of downloads: 26



1. A short while afterward back then, by reading some other official documents, I could figure it out to have a small hack into font rendering of JRE, so that's not needed to change the default locale of Windows to Farsi/Persian, Iran (or Arabic...). The explanation will be presented soon (no time at the moment)!

0 Comments On This Entry

 

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

November 2014

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26 272829
30      

Tags

    Recent Entries

    Search My Blog

    0 user(s) viewing

    0 Guests
    0 member(s)
    0 anonymous member(s)

    Categories

    something

    test

    test

    testing...

    List

    Java Applications

    C/C++ Applications