Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 3895 3896 3897 3898 [3899] 3900 3901 3902 3903 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
SkunkyVillage

PpdpP - SkunkyVillage
Ich hab gerade mal geschaut. Auch für ADO.NET gibt es einen ODBC DataProvider. Also kann ich deine Frage definitiv mit ja beantworten.
26.11.2009 13:35:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Floder

Floder
Ich nerde im GS während ich bei meiner Freundin in der Wohnung darauf warte, dass sie von der Uni heimkehrt! mit den Augen rollend
















Laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaangweilig.
26.11.2009 14:42:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
Heute ist mal wieder soein "Mein-Rücken-Bringt-Mich-Um"-Tag fröhlich
26.11.2009 14:49:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Heute ist ein Tag irgendwo zwischen "ich bring mich um" und "ich bring alle anderen um" Ich bin müde und total verpeilt.
26.11.2009 14:51:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Floder

Floder
Ich wäre auch erschöpft, wenn ich mit einer psychiopathin zusammenwohnen würde.
26.11.2009 14:52:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Die ist eh seit zwei Tagen verschwunden.
26.11.2009 14:52:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Ach, ich hol mir doch ein Netbook. Was will ich mit einem Laptop.
26.11.2009 14:53:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Floder

Floder
Hol dir lieber ein Macbook-Air. Hat einen viel größeren Erschrocken-Faktor.
26.11.2009 15:00:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
TriggerTG

TriggerTG
Das Portemonaie wird sich bedanken fröhlich
26.11.2009 15:03:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
So viel Geld hab ich nicht. Außerdem bin ich kein Designer, ich bin Programmierer. Was will ich mit einem Mac?
26.11.2009 15:10:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Floder

Floder
Linux oder Windows drauf installieren? Augenzwinkern Naja schaut schon porno aus das Air. Aber is doof, wie ich grad seh hat das noch garnicht das neuste Trackpad wie die anderen. Da pennt Apple wieder. Wird bestimmt bald ne neue Revision geben.
26.11.2009 15:13:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Wobei, das stell ich mir schon lustig vor.
Ich so: *Macbook auspack*
Linuxer so: *Für Hasstirade Luft hol*
Ich so: *Linux starte*
Linuxer so: Erschrocken
26.11.2009 15:14:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Floder

Floder
Machen doch alle Powergeeks. Entweder Thinkpad oder Macbook (am besten schwarzes altes mit $hacker_sticker hintendrauf).
26.11.2009 15:20:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Naja, ist mir egal, ich brauch sowas einfach nicht.
26.11.2009 15:22:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
 
Zitat von Teufel

 
Zitat von Ashtray
Ok, ich muss zugeben ich bin neugierig geworden, hat jemand noch ne GoogleWave-Einladung übrig?



Ich war mal so frei


\o/

Ich bedanke mich!

8 weitere Einladungen frei!
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Ashtray am 26.11.2009 15:30]
26.11.2009 15:28:28  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von damisau

Thinkpad T-Series, alles andere ist Geldverschwendung! peinlich/erstaunt


X Junge, X ist was du willst.
26.11.2009 15:36:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von Morgil

Ich gebe mir alle Mühe. Danke.ü

Anderes Thema: Was für ein Netbook soll ich kaufen?`


Kuck dir die Samsung Netbooks an. Sind durchaus interessante dabei.

Leider fehlt mir bei den Netbooks immer irgendwas. Das Netbook das für mich passt hab ich noch nicht wirklich gefunden. Heute kam von notebooksbilliger ne Nachricht rein: MSI Wind U200-S2743W7P Black

Auch nicht uninteressant wie ich finde und 12" sind noch gut an der grenze zwischen sehr mobil und erträglich beim drauf arbeiten.
26.11.2009 15:37:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von Floder

Linux oder Windows drauf installieren? Augenzwinkern Naja schaut schon porno aus das Air. Aber is doof, wie ich grad seh hat das noch garnicht das neuste Trackpad wie die anderen. Da pennt Apple wieder. Wird bestimmt bald ne neue Revision geben.


Das Ding schaut scheisse aus und man kann nichts dran anschließen. Wie mehrere USBs? Hat doch Wlan! Wie VGA oder DVI? Hat doch WLan? Wie Erweiterungskarten? Hat doch Wlan! etc...

Das kann das entsprechende Thinkpad in gleicher größer eleganter und besser.
26.11.2009 15:40:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Glare Display :/
26.11.2009 15:40:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Achsel-des-Bösen

AUP Achsel-des-Bösen 06.10.2009
 
Zitat von Achsel-des-Bösen

 
Zitat von Renga

In welcher Sprache schreibst du das? Darf man da eventl. den Code mal sehen ... irgendwann? wuerde mich irgendwie interessieren.


Java. Ich lade den Code dann mal morgen hoch...erinner mich dran fröhlich


Hab mich selbst dran erinnert.

Ich poste einfach mal den relevanten Code und den rest findet ihr hier.

 
Code:
import java.io.IOException;
import javax.net.DataLinkLayer;
import javax.net.ReadFromLowerLayerTimeoutException;

public class SimpleDataLinkLayer extends DataLinkLayer {

	/**
	 * Zeit in ms in der ein gesendetes Paket bestätigt sein muss
	 */
	private static final int ACK_TIMEOUT = 300;

	/**
	 * Druchschnittliche Transferzeit (wird beim Sender gemessen) mit Hilfe eines 
	 * MovingAverage
	 */
	private MovingAverage transmitTime = new MovingAverage(20);

	/**
	 * Gesamtzahl aller Frames die beim Empfänger ankommen (inklusive nicht angekommen)
	 */
	private int receiverTotalFrames = 0;
	/**
	 * Gesamtzahl aller Frames die beim Empfänger nicht ankommen (wird mit Hilfe des 
	 * Resent-Couters gezählt)
	 */
	private int receiverLostFrames = 0;
	/**
	 * Gesamtzahl aller defekten Frames
	 */
	private int receiverDamagedFrames = 0;
	/**
	 * Sequenznummer die das nächste zu sendende Paket bekommt
	 */
	private int sequence = 0;
	/**
	 * Sequenznummer des zuletzt empfangen Paketes
	 */
	private int lastSequenceReceived = Integer.MIN_VALUE;


	public void send()  {

		boolean continueSend = true;

		while(continueSend) {

			try {
				// auf Daten von der höheren Schicht warten
				byte from_upper[] = new byte[Packet.MAX_FRAME_LEN];
				int len = readFromUpperLayer(from_upper, Packet.MAX_FRAME_LEN);
				Packet dataPacket = Packet.withPayload(from_upper, len);

				// Header setzen & Checksumme berechnen	
				dataPacket.setSequence(this.sequence);
				dataPacket.setResentCounter(0);
				dataPacket.makeCRC();

				setReadFromLowerLayerTimeout(ACK_TIMEOUT);

				boolean packet_send = false;
				do {
					// daten senden
					byte[] data = dataPacket.getBytes();
					writeToLowerLayer(data, data.length);
					// notieren des Sendenzeitpunkt des Datenpaketes und zählen des Pakets
					long sendTime = System.currentTimeMillis(); 

					try {
						// auf Bestätigungspaket warten
						byte ack[] = new byte[Packet.MAX_FRAME_LEN];
						int len_ack = readFromLowerLayer(ack, Packet.MAX_FRAME_LEN);
						Packet ack_packet = Packet.fromRawData(ack, len_ack);

						// empfangenes Paket prüfen
						if(!ack_packet.isCRCokay()) continue;
						if(!ack_packet.isAckPacket()) continue;
						if(ack_packet.getSequence() != this.sequence) continue;

						// die Transferzeit ist (näherungsweise) die halbe roundtripzeit
						long transferTime = (System.currentTimeMillis() - sendTime) / 2;
						// die durchschnittliche Transferzeit updaten
						this.transmitTime.update(transferTime);

						//System.out.printf("\nsend(): Packet %d:%d sent\n", this.sequence, dataPacket.getResentCounter());

						packet_send = true;	// das Paket wurde erfolgreich gesendet

					} catch (ReadFromLowerLayerTimeoutException e) {
						/*
						 * es wurde keine Bestätigungspaket innerhalb der gesetzten Zeit 
						 * erhalten der resentcounter des Pakets wird erhöht und es wird 
						 * beim nächsten schleifen durchlauf neu gesendet
						 */
						//System.out.printf("\nsend(): Packet %d:%d failed\n", this.sequence, dataPacket.getResentCounter());
						dataPacket.setResentCounter(dataPacket.getResentCounter()+1);
						dataPacket.makeCRC();
					}
				} while(!packet_send);
				// das Paket wurde erfolgreich gesendet und bestätigt
				this.sequence++;

			} catch( IOException e) {
				continueSend = false;
				System.err.println("IOException in send()");
				e.printStackTrace();
			}
			System.out.printf(
					"Avg. Transfertime  : %5.2f ms\n", this.transmitTime.getAverage());
		}
	}



	public void receive() {

		boolean continueReceive = true;	

		while (continueReceive) {
			// es wird unendlich lange auf daten gewartet
			setReadFromLowerLayerTimeout(0);

			try {
				// daten aus der daruterliegenden Schicht lesen
				byte from_lower[] = new byte[Packet.MAX_FRAME_LEN];
				int len = readFromLowerLayer(from_lower, Packet.MAX_FRAME_LEN);
				Packet receivedPacket = Packet.fromRawData(from_lower, len);

				this.receiverTotalFrames++;
				// CRC prüfen. Wenn das Paket defekt ist, wird es gezählt
				if(!receivedPacket.isCRCokay()) {
					this.receiverDamagedFrames++;
					//System.out.printf("receive(): Packet %d:%d damaged\n", receivedPacket.getSequence(), receivedPacket.getResentCounter());
					continue;
				}
				if(receivedPacket.getSequence() == this.lastSequenceReceived) {
					/*
					 * auch wenn das Paket ein Dublikat ist, müssen wir es nochmal 
					 * bestätigen, sonst bekommen wir es immer wieder
					 */
					//System.out.printf("\nreceive(): Packet %d:%d dublicate\n", receivedPacket.getSequence(), receivedPacket.getResentCounter());
					sendAck(receivedPacket);
					continue;
				}
				else if(receivedPacket.getSequence() < this.lastSequenceReceived) {
					System.out.printf("\nreceive(): Packet %d:%d IN WRONG ORDER. Previous SequNr was %d\n", 
							receivedPacket.getSequence(), receivedPacket.getResentCounter(), lastSequenceReceived);
					continueReceive = false;
					break;
				}
				else if(receivedPacket.getResentCounter() > 0) {
					/*
					 * wenn der resentcounter im empfangenen Paket größer als 0 ist, wurde
					 * es so oft gesendet wie der resentCounter anzeigt
					 */
					this.receiverLostFrames += receivedPacket.getResentCounter();
					this.receiverTotalFrames += receivedPacket.getResentCounter();
				}


				/*
				 * Datenpakete werden an die höhere Schicht gegeben, bestätigt und die 
				 * Sequenznummer wird als empfangen markiert
				 */
				if(receivedPacket.isDataPacket()) {
					byte[] data = receivedPacket.getPayload();
					writeToUpperLayer(data, data.length);
					//System.out.printf("\nreceive(): Packet %d:%d received\n", receivedPacket.getSequence(), receivedPacket.getResentCounter());

					sendAck(receivedPacket);
					this.lastSequenceReceived = receivedPacket.getSequence();
				}

			} 
			catch (ReadFromLowerLayerTimeoutException e) {
				// das kannn nicht eintreten 
			} 
			catch (IOException e) {
				continueReceive = false;
				System.err.println("IOException in receive()");
				e.printStackTrace();
			}

			if(receiverTotalFrames > 0) {
				// zahl der tatsächlich erhaltenen pakete (abzüglich verlorener)
				
				int totalReceived = receiverTotalFrames - receiverLostFrames;
				System.out.printf("Receiver lost Frames    : %5.2f%% (%d of %d)\n",
						receiverLostFrames*100.0/receiverTotalFrames, 
						receiverLostFrames, receiverTotalFrames);
				System.out.printf("Receiver damaged Frames : %5.2f%% (%d of %d)\n",
						receiverDamagedFrames*100.0/totalReceived,
						receiverDamagedFrames, totalReceived);
			}

		}
	}

	/**
	 * sendet ein Bestätigungspaket für ein gegebenes Paket
	 * @param toAck das Paket für das die Bestätigung gesendet werden soll
	 * @throws IOException wenn Fehler beim schreiben auf den unteren Schicht auftritt
	 */
	private void sendAck(Packet toAck) throws IOException {
		Packet ack_packet = toAck.createACK();
		ack_packet.makeCRC();
		writeToLowerLayer(ack_packet.getBytes(), ack_packet.getBytes().length);
	}

}


Die readFrom.../writeTo... Methoden kommen aus der abstrakten Basisklasse gegen die wir programmiert haben und simulieren quasi die OSI-Schichten 1 und 3. Unser Code wurde dann von jeweils einmal aufgerufen (siehe die Batchdatei/das Shellscript) und die send() und die receive() Methode tauschten dann über eine simuliertes Netzwerk Daten miteinander aus. Die simulierte Bitübertragungsschicht hat dabei dann eine Menge Packetloss und Fehler eingebaut, damit es interessanter wird. Die eigentlich Aufgabestellung findet ihr übrigens in dem PDF auf Seite 8 oder 9.
Achso und diese lustige Packet Klasse hab ich mir gestrickt, damit ich im eigentlich Code nicht mit irgendwelchen Byte rumdüdeln muss.
26.11.2009 15:41:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
damisau

Arctic
Yay, putty gibt's auch für Symbian!
26.11.2009 16:13:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
 
Zitat von SirSiggi

 
Zitat von damisau

Thinkpad T-Series, alles andere ist Geldverschwendung! peinlich/erstaunt


X Junge, X ist was du willst.


R pwnt!
26.11.2009 16:51:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
Squeezebox ist bis jetzt schonmal Godlike!

Kurz WLAN konfiguriert, zieht automatisch ein Firmware-Update und sammelt gerade alle Daten der Webradios die es so gibt

Als nächstes mal die lokalen Radiosender auf die Kurzwahltasten und dann den Squeezebox-Server auf dem NAS starten \o/
26.11.2009 16:52:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von Ashtray

 
Zitat von SirSiggi

 
Zitat von damisau

Thinkpad T-Series, alles andere ist Geldverschwendung! peinlich/erstaunt


X Junge, X ist was du willst.


R pwnt!


R ist für die Leute die sich goldene Wasserhähne unter ihre Brücke bauen. mit den Augen rollend
26.11.2009 16:57:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Ihr verwirrt mich traurig
26.11.2009 17:02:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
 
Zitat von SirSiggi

 
Zitat von Ashtray

 
Zitat von SirSiggi

 
Zitat von damisau

Thinkpad T-Series, alles andere ist Geldverschwendung! peinlich/erstaunt


X Junge, X ist was du willst.


R pwnt!


R ist für die Leute die sich goldene Wasserhähne unter ihre Brücke bauen. mit den Augen rollend


Ich schwanke noch ob ich das als Kompliment oder Beleidigung auffassen soll!
26.11.2009 17:04:11  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Im Zweifelsfall Beleidigung.
26.11.2009 17:08:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SkunkyVillage

PpdpP - SkunkyVillage
... Für mehr Musik im GS
np: Frei.Wild - Stueck fuer Stueck
26.11.2009 17:10:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
 
Zitat von Achsel-des-Bösen

Braucht hier jetzt noch jemand einen Google Wave Account?


hier, bitte.
26.11.2009 17:13:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Morgil

AUP Danzelot 28.02.2014
Wir brauchen mal dringend eine neue Seite. Dieser Riesencodeblock da oben killt mir das Layout.
26.11.2009 17:15:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 3895 3896 3897 3898 [3899] 3900 3901 3902 3903 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum