Godot: UPNP.add_port_mapping () выводит ошибку относительно delete_port_mapping ()

Созданный на 23 апр. 2020  ·  1Комментарий  ·  Источник: godotengine/godot

Версия Годо:
3.2.1 стабильный

ОС / устройство, включая версию:
Windows 10
Я использую маршрутизатор Orange Livebox, я не уверен, какие части описания .xml могут быть полезны и безопасны для совместного использования. Также у меня нет доступа администратора к нему.

Описание проблемы:
Добавление сопоставления портов выводит ошибку в отношении delete_port_mapping. Сопоставление портов добавлено правильно и может быть удалено позже без ошибок.
Проблема, описанная в этом вопросе https://godotengine.org/qa/65365/delete_port_mapping-condition-i-0-is-true
Выводит E 0:00:03.211 delete_port_mapping: Condition "i != (0)" is true. Returned: UPNP::upnp_result(i) <C++ Source> modules/upnp/upnp_device.cpp:90 @ delete_port_mapping() <Stack Trace> UPNPTest.gd:8 @ _ready()

Действия по воспроизведению:
Выполните следующее:
var upnp = UPNP.new()
upnp.discover()
upnp.add_port_mapping(4200)
Проект минимального воспроизведения:
ошибка upnp repro.zip

bug network

Самый полезный комментарий

Это довольно неприятная ошибка, которая также встречается в моем проекте.

РЕДАКТИРОВАТЬ: Если у кого-то есть такая же ошибка и обнаруживается эта проблема, вы можете обойти ошибку, добавив сопоставление портов непосредственно на шлюз по умолчанию, что то же самое, что и upnp.add_port_mapping, за исключением попытки удалить несуществующий порт.

upnp = UPNP.new()
var result = upnp.discover()
if result == UPNP.UPNP_RESULT_SUCCESS:
    var gateway = upnp.get_gateway()
    gateway.add_port_mapping(4200)

>Все замечания

Это довольно неприятная ошибка, которая также встречается в моем проекте.

РЕДАКТИРОВАТЬ: Если у кого-то есть такая же ошибка и обнаруживается эта проблема, вы можете обойти ошибку, добавив сопоставление портов непосредственно на шлюз по умолчанию, что то же самое, что и upnp.add_port_mapping, за исключением попытки удалить несуществующий порт.

upnp = UPNP.new()
var result = upnp.discover()
if result == UPNP.UPNP_RESULT_SUCCESS:
    var gateway = upnp.get_gateway()
    gateway.add_port_mapping(4200)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги