From 2d82d60f9e7b2a3b34db2447b03a843be00bade3 Mon Sep 17 00:00:00 2001 From: Thomas Woischnig Date: Sun, 31 Dec 2023 00:12:30 +0100 Subject: [PATCH] No more unlimted while --- Assets/NetworkLobbyClient/package.json | 2 +- LobbyClient/LobbyClient.cs | 4 ++-- LobbyServer/UdpCandidateServer.cs | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Assets/NetworkLobbyClient/package.json b/Assets/NetworkLobbyClient/package.json index 20c63c4..dae832b 100644 --- a/Assets/NetworkLobbyClient/package.json +++ b/Assets/NetworkLobbyClient/package.json @@ -1,6 +1,6 @@ { "name": "com.incobyte.lobbyclient", - "version": "1.0.2", + "version": "1.0.3", "displayName": "Game Lobby Client", "description": "Provides a client for the game lobvy server to list and join lobbies", "unity": "2022.3", diff --git a/LobbyClient/LobbyClient.cs b/LobbyClient/LobbyClient.cs index 83ec8a3..67b9945 100644 --- a/LobbyClient/LobbyClient.cs +++ b/LobbyClient/LobbyClient.cs @@ -358,12 +358,12 @@ namespace Lobbies var queryExternalPortAndIp = new QueryExternalPortAndIp() { LobbyClientId = connectionId }; var len = queryExternalPortAndIp.Serialize(messageData); var ip = GetIPsByName(host!, true, false).First(); - + var tries = 0; do { sendUdpCallback(new IPEndPoint(ip, port), messageData, len); } - while (!waitForExternalIp.WaitOne(100)); + while (!waitForExternalIp.WaitOne(100) && tries++ < 100); } catch { diff --git a/LobbyServer/UdpCandidateServer.cs b/LobbyServer/UdpCandidateServer.cs index f0c837b..d13e1ea 100644 --- a/LobbyServer/UdpCandidateServer.cs +++ b/LobbyServer/UdpCandidateServer.cs @@ -38,13 +38,17 @@ namespace LobbyServer { Console.WriteLine($"{DateTime.Now}: [UdpCandidateServer] received packet"); Memory receivedData = new Memory(receiveResult.Buffer); - switch (LobbyMessageIdentifier.ReadLobbyMessageIdentifier(receivedData.Span)) + var identifier = LobbyMessageIdentifier.ReadLobbyMessageIdentifier(receivedData.Span); + switch (identifier) { case QueryExternalPortAndIp.TypeId: var queryExternalPortAndIp = QueryExternalPortAndIp.Deserialize(receivedData.Span); Console.WriteLine($"{DateTime.Now}: [UdpCandidateServer] received QueryExternalPortAndIp for lobby client id {queryExternalPortAndIp.LobbyClientId} from {receiveResult.RemoteEndPoint.Address.ToString()}:{receiveResult.RemoteEndPoint.Port}"); QueryIpAndPort?.Invoke(queryExternalPortAndIp.LobbyClientId, receiveResult.RemoteEndPoint.Address.ToString(), receiveResult.RemoteEndPoint.Port); break; + default: + Console.WriteLine($"{DateTime.Now}: [UdpCandidateServer] received unkown identifier {identifier}"); + break; } } }