Toon posts:

[JAVA] Netwerk verkeer / statistieken opvragen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben op zoek naar een manier om het gegenereerde netwerk verkeer in java op te vragen. Het gaat over het netwerk verkeer gegenereerd door alle applicaties op de pc. Verder zou het ook leuk zijn moest ik de bandbreedte enz kunnen opvragen.
Het doel is een soort download client te maken, waarbij je de downloads op de achtergrond in "low priority" laat draaien. De client moet rekening houden met je download limiet (ja ben Belg :+ ). Ik zou het indien mogelijk uiteraard OS onafhankelijk houden. :)

Wat heb ik zoal nodig (hoe meer hoe liever natuurlijk ;) ):
  • Aantal verzonden bytes (sinds pc werd opgestart)
  • Aantal ontvangen bytes (sinds pc werd opgestart)
  • Huidige upload snelheid
  • Huidige download snelheid
  • Aantal connecties
  • Eventuele relevante informatie om downloads op de achtergrond te laten draaien
  • Eventueel capaciteit van de lijn
  • Eventueel status van de limiet (hoeveel resterend)
Die laatste twee zijn voor zover ik zie gebonden aan je provider (vooral de laatste). De eerste zes zijn eigenlijk het belangrijkste.

Wat heb ik al:
  • java.net.NetworkInterface klasse: de informatie in deze klasse kan ik op zich wel gebruiken maar is nogal beperkt. Bovenstaande vragen worden er sowieso niet mee beantwoord.
  • google: ik heb al wat zitten googlen, echter zonder resultaat :'( Het probleem is dat ik geen enkel idee heb waar te beginnen. Queries zoals "Monitor network traffic java" hielpen niet echt.
Ik ben er vrij zeker van dat er geen kant en klare klasse is in java die deze functionaliteit voorziet. Ik verwacht geen kant en klare oplossing maar een duwtje in de goeie richting zou ten zeerste geapprecieerd worden! :9

Dank bij voorbaat! _/-\o_ _/-\o_

  • Marcj
  • Registratie: November 2000
  • Laatst online: 16:59
De huidige upload- en downloadsnelheid van je internetverbinding kun je onmogelijk bepalen vanaf de PC, wanneer deze bijvoorbeeld achter een router zit. Dan kun je alleen zien dat de netwerkinterface een 100Mbit (of misschien 1Gbit) is.

Verzonden/ontvangen bytes / aantal connecties zou misschien wel op de vragen via C-code en dan zou je via JNI dat kunnen opvragen. Volgens mij is er niet iets standaard in de Java API daarvoor. Zie bijvoorbeeld: http://www.codeproject.com/internet/BytesSentReceived.asp en http://www.codeproject.com/java/jnibasics1.asp (is wel windows specifiek)

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Misschien kun je iets met Apache:
http://jakarta.apache.org/commons/net/

Ik heb de library overigens nooit (bewust :)) gebruikt.

Fat Pizza's pizza, they are big and they are cheezy


Verwijderd

Topicstarter
Heb die Apache library al eens doorgenomen (in de rapte uiteraard). Lijkt mij veel uitgebreider dan de standaard java implementatie zeer mooi. Die is dus zeker bruikbaar in wat ik wil maken maar is niet low level genoeg voor mijn trafiek probleem. Toch bedankt! :)

Die combinatie van C en JNI zal het vermoed ik worden, alhoewel ik nog nooit van mijn leven een letter C geschreven heb :P

Dank voor de tips d:)b