Exemplo n.º 1
0
    def toBinary(self, internal = False):
        payload = bytearray()
        if self.hasSplit:
            payload += (Binary.writeByte((self.reliability << 5) | 0b00010000))
        else :
            payload += (Binary.writeByte(self.reliability << 5))

        if internal:
            payload += (Binary.writeInt(len(self.buffer)))
            payload += (Binary.writeInt(self.identifierACK))
        else:
            payload += (Binary.writeShort(len(self.buffer) << 3))

        if self.reliability > 0:
            if (self.reliability > 2 or self.reliability == 2) and self.reliability is not 5:
                payload += (Binary.writeLTriad(self.messageIndex))
            if (self.reliability < 4 or self.reliability == 4) and self.reliability is not 2:
                payload += (Binary.writeLTriad(self.orderIndex))
                payload += (Binary.writeByte(self.orderChannel))

        if self.hasSplit:
            payload += (Binary.writeInt(self.splitCount))
            payload += (Binary.writeShort(self.splitID))
            payload += (Binary.writeInt(self.splitIndex))

        payload += (self.buffer)

        return payload
Exemplo n.º 2
0
 def blockAddress(self, address: str, timeout: int):
     buffer = chr(PyRakLib.PACKET_BLOCK_ADDRESS) + chr(
         len(address)) + address + str(Binary.writeInt(timeout))
     self.server.pushMainToThreadPacket(buffer)
Exemplo n.º 3
0
 def putInt(self, i: int):
     self.buffer += Binary.writeInt(i)
Exemplo n.º 4
0
 def streamACK(self, identifier, identifierACK):
     buffer = chr(PyRakLib.PACKET_ACK_NOTIFICATION) + chr(
         len(identifier)) + identifier + str(Binary.writeInt(identifierACK))
     self.server.pushThreadToMainPacket(buffer)
Exemplo n.º 5
0
 def putInt(self, i: int):
     self.buffer += Binary.writeInt(i)
Exemplo n.º 6
0
 def blockAddress(self, address: str, timeout: int):
     buffer = chr(PyRakLib.PACKET_BLOCK_ADDRESS) + chr(len(address)) + address + str(Binary.writeInt(timeout))
     self.server.pushMainToThreadPacket(buffer)
Exemplo n.º 7
0
 def streamACK(self, identifier, identifierACK):
     buffer = chr(PyRakLib.PACKET_ACK_NOTIFICATION) + chr(len(identifier)) + identifier + str(Binary.writeInt(identifierACK))
     self.server.pushThreadToMainPacket(buffer)
Exemplo n.º 8
0
#print(unpack('>i', b'\x00' + data)[0])
#print(unpack('<i', data + b'\x00')[0])
from pyraklib.protocol.EncapsulatedPacket import EncapsulatedPacket
from pyraklib.protocol.UNCONNECTED_PING import UNCONNECTED_PING
from pyraklib.protocol.UNCONNECTED_PONG import UNCONNECTED_PONG

data = Binary.writeLTriad(32)
print(Binary.readLTriad(data))

data = Binary.writeByte(32)
print(Binary.readByte(data))

data = Binary.writeShort(256)
print(Binary.readShort(data))

data = Binary.writeInt(32)
print(Binary.readInt(data))

data = Binary.writeLong(32)
print(Binary.readLong(data))

data = Binary.writeFloat(32.54)
print(Binary.readFloat(data))

data = Binary.writeDouble(32.3232)
print(Binary.readDouble(data))

print(type(Binary.writeLong(23)))

ping = UNCONNECTED_PING()
ping.pingID = 1234