JSPacket

Overview

The UDP packet class facilitates handling packet data through a set of properties and methods designed for reading, writing, and managing byte arrays. It provides access to metadata such as the originating host, port, and packet length. The index property tracks the current position in the byte array, which is automatically updated after each read or write operation.

Methods include the ability to read and write various data types such as bytes, integers, shorts, and UTF-8 strings. Additionally, the class supports extracting the entire byte array of the packet and encoding custom data for transmission. Advanced use cases involve combining these capabilities for constructing or parsing complex packet structures.

Properties Summarized

Type
Name
Summary

Returns the current position in the byte array of the packet.

Methods Summarized

Type
Name
Summary

Returns the content of the package into a byte array.

Returns the name of the host that sent the packet.

Returns the length of the packet in bytes.

Returns the port where the packet originated from.

Reads an 8 bits byte value from the packet, starting from the current index.

Reads a 32 bits int value from the packet, starting from the current index.

Reads a 32 bits short value from the packet, starting from the current index.

Reads a UTF-8 string from the packet, starting from the current index.

Reads a UTF-8 string from the packet, starting from the current index.

void

Writes one byte into the packet, at the current index.

void

Writes an array of bytes into the packet, at the current index.

void

Writes a 32 bits int into the packet, at the current index.

void

Writes a 16 bits short value into the packet, at the current index.

Writes an UTF-8 encoded string into the packet, at the current index.

Properties Detailed

index

Returns the current position in the byte array of the packet. The next read/write operation will occur at this position. This is a 0 based index.

Type Number The zero-based index indicating the current read/write position in the packet's byte array.

Sample

Methods Detailed

getByteArray()

Returns the content of the package into a byte array.

Returns: Array A copy of the packet's payload data as a byte array.

Sample

getHost()

Returns the name of the host that sent the packet.

Returns: String The hostname or IP address from which this packet was sent.

Sample

getLength()

Returns the length of the packet in bytes.

Returns: Number The total number of bytes contained in the packet's payload.

Sample

getPort()

Returns the port where the packet originated from.

Returns: Number The port number associated with the sender of this packet.

Sample

readByte()

Reads an 8 bits byte value from the packet, starting from the current index. Advances the index with one position.

Returns: Number A single byte from the current position in the packet, represented as an integer.

Sample

readInt()

Reads a 32 bits int value from the packet, starting from the current index. Advances the index with 4 positions.

Returns: Number A 32-bit integer extracted from the current position in the packet.

Sample

readShort()

Reads a 32 bits short value from the packet, starting from the current index. Advances the index with 2 positions.

Returns: Number A 16-bit short value extracted from the current position in the packet.

Sample

readUTF()

Reads a UTF-8 string from the packet, starting from the current index. If an argument is specified, then it represents the length (in UTF-8 encoded bytes, not characters) of the string to read. If no argument is specified, then first a 32 bits (4 byte) int is read from the packet and that will be the byte length of the string. Advances the index with a number of positions that depends on the length of the read string.

Returns: String A string decoded from the packet, with its length determined by the first four bytes.

Sample

readUTF(length)

Reads a UTF-8 string from the packet, starting from the current index. If an argument is specified, then it represents the length (in UTF-8 encoded bytes, not characters) of the string to read. If no argument is specified, then first a 32 bits (4 byte) int is read from the packet and that will be the byte length of the string. Advances the index with a number of positions that depends on the length of the read string.

Parameters

Returns: String A string decoded from the specified number of UTF-8 encoded bytes in the packet.

Sample

writeByte(number)

Writes one byte into the packet, at the current index. The index is advanced with one position.

Parameters

Returns: void

Sample

writeBytes(bytes)

Writes an array of bytes into the packet, at the current index. The index is advanced with a number of positions equal to the length of the written array.

Parameters

Returns: void

Sample

writeInt(number)

Writes a 32 bits int into the packet, at the current index. The index is advances with 4 positions.

Parameters

Returns: void

Sample

writeShort(number)

Writes a 16 bits short value into the packet, at the current index. The index is advances with 2 positions.

Parameters

Returns: void

Sample

writeUTF(string)

Writes an UTF-8 encoded string into the packet, at the current index. First the length of the string is written on 4 bytes, then the string is written. The index is advanced with a number of positions equal to the length of the string plus 4.

Parameters

Returns: Number The total number of bytes written to the packet for the UTF-8 encoded string.

Sample


Last updated

Was this helpful?