Godot: UPNP.add_port_mapping()输出有关delete_port_mapping()的错误

创建于 2020-04-23  ·  1评论  ·  资料来源: godotengine/godot

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 bug 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 等级