diff --git a/Transports/com.community.netcode.transport.websocket/Runtime/JSWebSocketClient.jslib b/Transports/com.community.netcode.transport.websocket/Runtime/JSWebSocketClient.jslib index 252d0c7c..a734cd18 100644 --- a/Transports/com.community.netcode.transport.websocket/Runtime/JSWebSocketClient.jslib +++ b/Transports/com.community.netcode.transport.websocket/Runtime/JSWebSocketClient.jslib @@ -39,7 +39,7 @@ var LibraryWebSocket = { } if (state.onOpen) { - Runtime.dynCall('v', state.onOpen, []); + Module['dynCall_v'](state.onOpen); } }; @@ -59,7 +59,7 @@ var LibraryWebSocket = { HEAPU8.set(dataBuffer, buffer); try { - Runtime.dynCall('vii', state.onMessage, [buffer, dataBuffer.length]); + Module['dynCall_vii'](state.onMessage, buffer, dataBuffer.length); } finally { _free(buffer); } @@ -78,7 +78,7 @@ var LibraryWebSocket = { stringToUTF8(msg, msgBuffer, msgBytes); try { - Runtime.dynCall('vi', state.onError, [msgBuffer]); + Module['dynCall_vi'](state.onError, msgBuffer) } finally { _free(msgBuffer); } @@ -91,7 +91,7 @@ var LibraryWebSocket = { } if (state.onClose) { - Runtime.dynCall('vi', state.onClose, [ev.code]); + Module['dynCall_vi'](state.onClose, ev.code) } }; }, diff --git a/Transports/com.community.netcode.transport.websocket/Runtime/NativeWebSocketClient.cs b/Transports/com.community.netcode.transport.websocket/Runtime/NativeWebSocketClient.cs index e1129d47..90ccca30 100644 --- a/Transports/com.community.netcode.transport.websocket/Runtime/NativeWebSocketClient.cs +++ b/Transports/com.community.netcode.transport.websocket/Runtime/NativeWebSocketClient.cs @@ -70,7 +70,7 @@ public void Close(CloseStatusCode code = CloseStatusCode.Normal, string reason = if (ReadyState == WebSocketSharp.WebSocketState.Closed) { - throw new InvalidOperationException("Socket is already closed"); + return; } try diff --git a/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketClientFactory.cs b/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketClientFactory.cs index 47a08dc4..b7bad24d 100644 --- a/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketClientFactory.cs +++ b/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketClientFactory.cs @@ -10,8 +10,8 @@ namespace Netcode.Transports.WebSocket { public class WebSocketClientFactory { -#if UNITY_WEBGL - public static JSWebSocketClient Client = new JSWebSocketClient(); +#if (UNITY_WEBGL && !UNITY_EDITOR) + public static JSWebSocketClient Client; internal delegate void OnOpenCallback(); internal delegate void OnMessageCallback(IntPtr messagePointer, int messageSize); @@ -67,7 +67,8 @@ internal static void OnCloseEvent(int disconnectCode) public static IWebSocketClient Create(string url) { -#if UNITY_WEBGL +#if (UNITY_WEBGL && !UNITY_EDITOR) + Client = new JSWebSocketClient(); _SetUrl(url); _SetOnOpen(OnOpenEvent); _SetOnMessage(OnMessageEvent); diff --git a/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketTransport.cs b/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketTransport.cs index da496fba..f00ecb62 100644 --- a/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketTransport.cs +++ b/Transports/com.community.netcode.transport.websocket/Runtime/WebSocketTransport.cs @@ -8,9 +8,9 @@ namespace Netcode.Transports.WebSocket { public class WebSocketTransport : NetworkTransport { - private static WebSocketServer WebSocketServer = null; - private static IWebSocketClient WebSocketClient = null; - private static bool IsStarted = false; + private WebSocketServer WebSocketServer = null; + private IWebSocketClient WebSocketClient = null; + private bool IsStarted = false; [Header("Transport")] public string ConnectAddress = "127.0.0.1"; @@ -101,6 +101,7 @@ public override void Shutdown() { WebSocketServer.Stop(); } + IsStarted = false; } public override bool StartClient()