Godot-Version:
3.2.1 stabil
Betriebssystem / Gerät einschließlich Version:
Windows 10
Der Router, den ich verwende, ist eine Orange Livebox. Ich bin mir nicht sicher, welche Teile der XML-Beschreibung nützlich und sicher sein können. Außerdem habe ich keinen Administratorzugriff darauf.
Fehlerbeschreibung:
Das Hinzufügen einer Portzuordnung gibt einen Fehler bezüglich delete_port_mapping aus. Die Portzuordnung scheint ordnungsgemäß hinzugefügt zu werden und kann später ohne Fehler gelöscht werden.
In dieser Frage beschriebenes Problem https://godotengine.org/qa/65365/delete_port_mapping-condition-i-0-is-true
Gibt 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()
Schritte zum Reproduzieren:
Führen Sie Folgendes aus:
var upnp = UPNP.new()
upnp.discover()
upnp.add_port_mapping(4200)
Minimales Reproduktionsprojekt:
upnp bug repro.zip
Dies ist ein ziemlich nerviger Fehler, der auch in meinem Projekt auftritt.
BEARBEITEN: Wenn jemand denselben Fehler hat und dieses Problem findet, können Sie den Fehler umgehen, indem Sie die Portzuordnung direkt zum Standardgateway hinzufügen. Dies ist dasselbe, was upnp.add_port_mapping tut, abzüglich des Versuchs, einen nicht vorhandenen Port zu löschen.
upnp = UPNP.new()
var result = upnp.discover()
if result == UPNP.UPNP_RESULT_SUCCESS:
var gateway = upnp.get_gateway()
gateway.add_port_mapping(4200)
Hilfreichster Kommentar
Dies ist ein ziemlich nerviger Fehler, der auch in meinem Projekt auftritt.
BEARBEITEN: Wenn jemand denselben Fehler hat und dieses Problem findet, können Sie den Fehler umgehen, indem Sie die Portzuordnung direkt zum Standardgateway hinzufügen. Dies ist dasselbe, was upnp.add_port_mapping tut, abzüglich des Versuchs, einen nicht vorhandenen Port zu löschen.