Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PacketPeer
Успадковує: RefCounted < Object
Успадковано від: ENetPacketPeer, MultiplayerPeer, PacketPeerDTLS, PacketPeerExtension, PacketPeerStream, PacketPeerUDP, WebRTCDataChannel, WebSocketPeer
Анотація та базовий клас для протоколів на основі пакетів.
Опис
Пакети Peer - анотація та базовий клас для протоколів пакетів (наприклад, UDP). Надання API для відправки та отримання пакетів як сирих, так і змінних. Це дозволяє легко перенести дані за протоколом, не маючи даних кодування, як низькорівневі байти або турбуватися про мережевий замовлення.
Примітка: При експорті до Android, переконайтеся, що ввімкнути INTERNET дозвіл на експорт Android перед експортуванням проекту або за допомогою однієї кнопки розгортання. Інакше, мережевий зв'язок будь-якого роду буде заблокований Android.
Властивості
|
Методи
get_available_packet_count() const |
|
get_packet_error() const |
|
put_packet(buffer: PackedByteArray) |
|
Описи властивостей
int encode_buffer_max_size = 8388608 🔗
Максимальний розмір буфера допускається при кодуванні Variants. Використовуйте це значення для підтримки важчих переселень пам'яті.
Метод set_var() виділяє пам'ять на стек, а використовуваний буфер автоматично зросте до найближчої потужності двох, щоб відповідати розмірам Variant. Якщо Variant є більшим, ніж код_buffer_max_size, метод буде похибуватися з @GlobalScope.ERR_OUT_OF_MEMORY.
Описи методів
int get_available_packet_count() const 🔗
Повертає кількість пакетів, які в даний час доступні в кільце-буфері.
PackedByteArray get_packet() 🔗
Отримує сирий пакет.
Error get_packet_error() const 🔗
Повертаємо стан помилки останнього пакета, отриманого (через get_packet() та get_var()).
Variant get_var(allow_objects: bool = false) 🔗
Отримує варіант. Якщо allow_objects є true, декодування об'єктів дозволено.
Внутрішнє використання такого ж механізму декодування, як методу GlobalScope.bytes_to_var().
Попередження: Десеріалізовані об'єкти можуть містити код, який отримує виконану. Не використовуйте цей параметр, якщо послідовний об'єкт виходить з ненадійних джерел, щоб уникнути загроз потенційної безпеки, таких як віддалене виконання коду.
Error put_packet(buffer: PackedByteArray) 🔗
Надіслав сирий пакет.
Error put_var(var: Variant, full_objects: bool = false) 🔗
Відправляється Variant як пакет. Якщо full_objects є true, кодування об'єктів дозволено (і може потенційно включати код).
Внутрішня, це використовує той же механізм кодування, як GlobalScope.var_to_bytes().