Godot: UPNP.add_port_mapping ()์€ delete_port_mapping () ๊ด€๋ จ ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 04์›” 23์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: godotengine/godot

Godot ๋ฒ„์ „ :
3.2.1 ์•ˆ์ •

๋ฒ„์ „์„ ํฌํ•จํ•œ OS / ์žฅ์น˜ :
์œˆ๋„์šฐ 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 ๋“ฑ๊ธ‰