var ip_list = IP.get_local_addresses() @onready var players: Node = $Players @onready var http_request = $HTTPRequest const PLAYER = preload("res://play/player.tscn") var peer = ENetMultiplayerPeer.new() var target_ip: String = "www.weiguang.fun"
## 创建客户端并连接服务器 func _on_join_button_down() -> void: if target_ip.is_empty(): printerr("IP地址不能为空!") return # 创建客户端并连接ip为target_ip:7788的服务器 var error = peer.create_client(target_ip, 7788) if error != OK: printerr("无法连接到指定服务器") return multiplayer.multiplayer_peer = peer
## 获取IP func is_ipv4(ip: String) -> bool: var parts = ip.split(".") if parts.size() != 4: return false for part in parts: if not part.is_valid_int(): return false var num = int(part) if num < 0 or num > 255: return false return true
# 判断是否是私有地址 func is_private_ipv4(ip: String) -> bool: var parts = ip.split(".") var first_octet = int(parts[0]) var second_octet = int(parts[1])
# 判断是否属于私有地址范围 if first_octet == 10: return true if first_octet == 172 and second_octet >= 16 and second_octet <= 31: return true if first_octet == 192 and second_octet == 168: return true return false
func _ready(): var button = Button.new() button.pressed.connect(_on_ip_get_button_up) var result = find_wireless_lan_ipv4() print("无线局域网适配器的 IPv4 地址:", result)
func _on_ip_get_button_up() -> void: var label1 = get_node("UI/Label1") label1.text = "您的局域网IP地址是:"+find_wireless_lan_ipv4() # 发起GET请求 var url = "http://inip.in/ip.json" http_request.request(url)