From 6595d4ead2ec5e92bc49e1d45c600b1aad7d3b57 Mon Sep 17 00:00:00 2001 From: Derek S <44935661+Derek-R-S@users.noreply.github.com> Date: Mon, 5 Apr 2021 23:50:34 -0500 Subject: [PATCH] Fixed errors in unity 2019, UDPClient receives right away --- UnityTransport/LightReflectiveMirrorTransport.cs | 7 +++---- UnityTransport/SocketProxy.cs | 5 +++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/UnityTransport/LightReflectiveMirrorTransport.cs b/UnityTransport/LightReflectiveMirrorTransport.cs index 72d85b4..1d5331b 100644 --- a/UnityTransport/LightReflectiveMirrorTransport.cs +++ b/UnityTransport/LightReflectiveMirrorTransport.cs @@ -116,6 +116,7 @@ namespace LightReflectiveMirror { IPEndPoint newClientEP = new IPEndPoint(IPAddress.Any, 0); var data = _NATPuncher.EndReceive(result, ref newClientEP); + _NATPuncher.BeginReceive(new AsyncCallback(RecvData), _NATPuncher); if (!newClientEP.Address.Equals(_relayPuncherIP.Address)) { @@ -146,8 +147,6 @@ namespace LightReflectiveMirror } } } - - _NATPuncher.BeginReceive(new AsyncCallback(RecvData), _NATPuncher); } void ServerProcessProxyData(IPEndPoint remoteEndpoint, byte[] data) @@ -505,7 +504,7 @@ namespace LightReflectiveMirror else { relayServerList?.Clear(); - relayServerList = JsonConvert.DeserializeObject>(result.Decompress()); + relayServerList = JsonConvert.DeserializeObject>(result.Decompress()); serverListUpdated?.Invoke(); } #endif @@ -557,7 +556,7 @@ namespace LightReflectiveMirror else { relayServerList?.Clear(); - relayServerList = JsonConvert.DeserializeObject>(result); + relayServerList = JsonConvert.DeserializeObject>(result); serverListUpdated?.Invoke(); } #endif diff --git a/UnityTransport/SocketProxy.cs b/UnityTransport/SocketProxy.cs index fa611e7..8017b66 100644 --- a/UnityTransport/SocketProxy.cs +++ b/UnityTransport/SocketProxy.cs @@ -57,11 +57,12 @@ namespace LightReflectiveMirror void RecvData(IAsyncResult result) { - _clientInitialRecv = true; byte[] data = _udpClient.EndReceive(result, ref _recvEndpoint); + _udpClient.BeginReceive(new AsyncCallback(RecvData), _udpClient); + _clientInitialRecv = true; lastInteractionTime = DateTime.Now; dataReceived?.Invoke(_remoteEndpoint, data); - _udpClient.BeginReceive(new AsyncCallback(RecvData), _udpClient); + } } } \ No newline at end of file