Thema: Paketlänge lesen/schreiben
-
29.07.2011, 17:05 #1
- Registriert seit
- 06.11.2011
- Beiträge
- 418
Thanked 686 Times in 246 PostsPaketlänge lesen/schreiben
Kennt man eigentlich schon vom Emulator und der KN-/KJLib. Bei Knuddels wird die Paketlänge durch X Bytes angegeben, je nachdem wie viele benötigt werden. Ist nicht nur beim Chat so, sondern auch bei Beach. Hab ich dem Client im Dezember entnommen, hatte es auf UH auch mal released.
Lesen
Code:int first = in.read(); if (first == -1) { break; } int len; byte b = (byte) first; if (b >= 0) { len = b + 1; } else { len = (b & 0x1F) + 1; int count = (b & 0x60) >>> 5; for (int i = 0; i < count; i++) { len += in.read() << (i << 3) + 5; } } byte[] buffer = new byte[len]; for (int i = 0; i < len; i++) { buffer[i] = (byte) in.read(); }
Code:int len = bytes.length - 1; byte[] length; if (len < 128) { length = new byte[] { (byte) len }; } else { int count = 0; while (32 << (count + 1 << 3) <= len) { count++; } count++; length = new byte[count + 1]; length[0] = (byte) (count << 5 | 0x80 | len & 0x1F); for (int i = 1; i < length.length; i++) { length[i] = (byte) (len >>> 8 * (i - 1) + 5); } } byte[] buffer = new byte[length.length + bytes.length]; System.arraycopy(length, 0, buffer, 0, length.length); System.arraycopy(bytes, 0, buffer, length.length, bytes.length);
Ähnliche Themen
-
Wie hilft lesen zum Sprache verbessern?
Von ThunderStorm im Forum BildungAntworten: 5Letzter Beitrag: 11.09.2013, 00:05 -
Methoden um Browser-Accounts zu lesen?
Von JumP-StyLe im Forum OffTopicAntworten: 5Letzter Beitrag: 03.06.2012, 19:50 -
VB.Net TCP Paket bilden - Paketzeichnung lesen
Von !lkay im Forum .NetAntworten: 5Letzter Beitrag: 31.01.2012, 11:56
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.