Godot: UPNP.add_port_mapping () retorna erro em relação a delete_port_mapping ()

Criado em 23 abr. 2020  ·  1Comentário  ·  Fonte: godotengine/godot

Versão Godot:
3.2.1 estável

SO / dispositivo incluindo versão:
Windows 10
O roteador que uso é um Orange Livebox, não tenho certeza de quais partes da descrição .xml podem ser úteis e seguras para compartilhar. Além disso, não tenho acesso de administrador a ele.

Descrição do problema:
Adicionar um mapeamento de porta gera um erro em relação a delete_port_mapping. O mapeamento da porta parece ser adicionado corretamente e pode ser excluído posteriormente sem erros.
Problema descrito nesta pergunta https://godotengine.org/qa/65365/delete_port_mapping-condition-i-0-is-true
Produz 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()

Passos para reproduzir:
Execute o seguinte:
var upnp = UPNP.new()
upnp.discover()
upnp.add_port_mapping(4200)
Projeto de reprodução mínima:
bug upnp repro.zip

bug network

Comentários muito úteis

Este é um bug muito chato que também está acontecendo no meu projeto.

EDITAR: Se alguém tiver o mesmo bug e encontrar esse problema, você pode contornar o erro adicionando o mapeamento da porta diretamente ao gateway padrão, que é a mesma coisa que o upnp.add_port_mapping faz, menos tentar excluir uma porta não existente.

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

>Todos os comentários

Este é um bug muito chato que também está acontecendo no meu projeto.

EDITAR: Se alguém tiver o mesmo bug e encontrar esse problema, você pode contornar o erro adicionando o mapeamento da porta diretamente ao gateway padrão, que é a mesma coisa que o upnp.add_port_mapping faz, menos tentar excluir uma porta não existente.

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

Esta página foi útil?
0 / 5 - 0 avaliações