Virtuelle Datenübertragung programmieren

G

GuestfortheRest

Gast
Guten Tag Leute,
ich beschäftige mich zur Zeit mit dem Problem, dass ich ein virtuelles Netzwerk programmieren will.
Computer (MAC, IP) werden schon automatisch generiert.
Nun würde ich gerne einem Computer A und einem Computer B eine Netzwerkverbindung zuordnen können.

Folgende Gedanken habe ich mir bereits gemacht:

Java:
 private double übertragungsdauer, tatsächlichedatarate;
	
	public void virutalDatatransfer(String IPa, String IPb, double clength, double datarate, File a){
		/*
		 * setze ip a auf "client" und ip b auf "server" 
		 * clength sei die physikalische Länge der Verbindung
		 * datarate sei die maximale Durchsatzrate in MBit/s
		 * File a sei das Paket der Länge n Bits
		 * Nach simulation sollen die Werte in übertragungsdauer und tatsächlichedatarate gespeichert werden
		 */
		
	}


Theoretisch müsste man ja einen virtuellen ServerSocket und Socket machen und dann den Datenstrom simulieren und die Zeit messen...
Nur weiß ich nicht wie ich das in Abhängigkeit mit der Länge und der übergebenen Datenrate implementiert kriege.

Wäre lieb wenn mir da jemand unter die Arme greifen kann :)
 

HoaX

Top Contributor
Wie wäre es wenn du mal eine konkrete Frage stellst? Wo hängt es denn genau? Kennst du die Grundlagen, welche die Geschwindigkeit im Netzwerk beeinflussen? Sollen wir dir da jetzt fertigen Code hin schreiben oder was?
 
G

GuestfortheRest

Gast
Erweiterte Grundlagen in Java sind bei mir durchaus vorhanden.
Mein Problem ist, dass ich nicht weiß inwiefern:

Länge n
Paketlänge x
Datenübertragungsrate y

Auf eine Verbindung einfluss nehmen. Sprich ich bräuchte mal einen Denkanstoss (Formel).
Schön wäre es auch wenn man eine durchschnittliche Zeitangabe hat wie lange ein Bit pro Meter brauch.

Oder heisst 10 Bit/s, dass auf 1 Meter 10 Bits 1 Sekunde brauchen, kommt mir nämlich sehr falsch vor.
 
G

GuestfortheRest

Gast
Oder gibt es in Java sogar eine vorimplementierte Möglichkeit auf die man zurückgreifen kann?
 

HoaX

Top Contributor
Ja, Bit pro Meter ist falsch. Nein, da gib es nichts. Und es ist auch zuviel um es hier kurz zu beschreiben. Am Besten du besorgst dir ein Buch über die Grundlagen und Routing.
 
So hier noch mal ein Pseudocode mit den Gedanken von heute:

Java:
/* Comp = Computer (mac, ip, ipv4, ipv6, hostname): String
* typ = 10Base-T, 100Base-T ,...
* Der typ beschreibt eben den IEEE Standart der verwendet
* werden soll, mit samt allen Daten die er festlegt.
*/
virtualdatatransfer(Comp a, Comp b, double distanz, typ x){
        Leitung leitunga = new Leitung(x);
	boolean mark = true;
	if (a oder b == null) exit;
	else{
		Erzeuge auf a ein Paket der länge n;
		Setze b in Erwartungshaltung;
		do{
			while( a.paket.length > 0 ){
				if ( Leitung.isEmpty() ){
					Sende ein byte (hier müsste dann der Sendevorgang in Abhängigkeit der Hardwarespezifikationen die simuliert werden sollen implementiert werden);
					reduziere a.paket.length - 1;
				}else{
					warte( bis Leitung frei );
				}
			}
			if (b.empfangenesPaket.length == a.gesendetesPaket.length){
				sende Quittung an a;
			}else{
				mark = false;
			}
		}while(mark == false);
	}
}

Es wäre nett wenn man mir helfen könnte (vielleicht eine Methode für SendeEinBye(IEEE)) oder mir Literatur nennen kann wo erklärt wird, wie eine physikalische Verbindung aussieht bzw. wie ein Datenverkehr auf einer physikalischen Leitung aussieht und zwar so detailiert wie möglich.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Socket Datenübertragung nur mit Verzögerung (TCP/UDP) Netzwerkprogrammierung 8
L Richtige Datenübertragung Netzwerkprogrammierung 2
S Datenübertragung von Messengern Netzwerkprogrammierung 2
M Datenübertragung per Socket nur alle 200ms Netzwerkprogrammierung 4
X möglichst schnelle Datenübertragung? Netzwerkprogrammierung 11
B Datenübertragung mit SSH - FileNotFound Netzwerkprogrammierung 3
K Datenübertragung UDP Hilfe ????? Netzwerkprogrammierung 5
W größere datenübertragung Netzwerkprogrammierung 14
U Bytemasken bei Datenübertragung Netzwerkprogrammierung 4
T SSL auf Applicationsebene Sichere Datenübertragung Netzwerkprogrammierung 3
D beste Methode für Datenübertragung ? Netzwerkprogrammierung 1
E Auto-Update programmieren! Netzwerkprogrammierung 24
S Spiel mit Server programmieren Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
S Programmieren mit dem Internet Netzwerkprogrammierung 4
J Chat programmieren Netzwerkprogrammierung 12
L Chat Server programmieren Netzwerkprogrammierung 10
M Multiplayerspiel programmieren... welche Klassen sind geeignet? Netzwerkprogrammierung 10
L Internetfreigabe mit Java programmieren Netzwerkprogrammierung 22
N Server programmieren Netzwerkprogrammierung 10
S Eigenen Ping Befehl programmieren? Netzwerkprogrammierung 5

Ähnliche Java Themen


Oben