From 25eb0e50d4e815efb16d1a9953beac6ea1c7cfc3 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期六, 28 三月 2026 10:14:32 +0800
Subject: [PATCH] webgl merge

---
 Assets/Plugins/NativeWebSocket/Assets/WebSocket/WebSocket.jslib |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/Assets/Plugins/NativeWebSocket/Assets/WebSocket/WebSocket.jslib b/Assets/Plugins/NativeWebSocket/Assets/WebSocket/WebSocket.jslib
index 9d8e42f..07ce4f5 100644
--- a/Assets/Plugins/NativeWebSocket/Assets/WebSocket/WebSocket.jslib
+++ b/Assets/Plugins/NativeWebSocket/Assets/WebSocket/WebSocket.jslib
@@ -198,7 +198,26 @@
 
 			if (webSocketState.onError) {
 
-				var msg = "WebSocket error.";
+				var pageProtocol = (typeof window !== 'undefined' && window.location) ? window.location.protocol : 'unknown:';
+				var pageHref = (typeof window !== 'undefined' && window.location) ? window.location.href : 'unknown';
+				var readyState = instance.ws ? instance.ws.readyState : -1;
+				var hints = [];
+
+				if (pageProtocol === 'https:' && instance.url.indexOf('ws://') === 0)
+					hints.push('HTTPS 椤甸潰涓嶈兘杩炴帴闈炲畨鍏� ws://锛岄渶瑕佹敼涓� wss://');
+
+				if (readyState === 3)
+					hints.push('杩炴帴鍦ㄦ彙鎵嬮樁娈靛凡鍏抽棴锛屽父瑙佸師鍥狅細鐩爣绔彛涓嶆槸 WebSocket 鏈嶅姟銆佹湇鍔$鏈鐞� Upgrade 鎻℃墜銆佺鍙f湭寮�鏀炬垨鍙嶅悜浠g悊鏈�忎紶 Upgrade 澶�');
+
+				var msg = '[JSLIB WebSocket] error url=' + instance.url +
+					' pageProtocol=' + pageProtocol +
+					' readyState=' + readyState +
+					' hasSubProtocols=' + (instance.subprotocols && instance.subprotocols.length > 0 ? 'true' : 'false') +
+					' page=' + pageHref;
+
+				if (hints.length > 0)
+					msg += ' hints=' + hints.join(' | ');
+
 				var length = lengthBytesUTF8(msg) + 1;
 				var buffer = _malloc(length);
 				stringToUTF8(msg, buffer, length);
@@ -218,6 +237,24 @@
 			if (webSocketState.debug)
 				console.log("[JSLIB WebSocket] Closed.");
 
+			if (webSocketState.onError && ev.code === 1006) {
+				var pageProtocol = (typeof window !== 'undefined' && window.location) ? window.location.protocol : 'unknown:';
+				var msg = '[JSLIB WebSocket] abnormal close code=1006 url=' + instance.url +
+					' pageProtocol=' + pageProtocol +
+					' reason=' + (ev.reason || '') +
+					' wasClean=' + (ev.wasClean ? 'true' : 'false') +
+					' hint=閫氬父琛ㄧず鎻℃墜澶辫触鎴栫綉缁滃眰鐩存帴鎷掔粷锛涘鏋滃綋鍓嶇鍙e師鏈槸 TCP 娓告垙鏈嶇鍙o紝闇�瑕佸崟鐙彁渚� WebSocket 缃戝叧';
+				var length = lengthBytesUTF8(msg) + 1;
+				var buffer = _malloc(length);
+				stringToUTF8(msg, buffer, length);
+
+				try {
+					Module.dynCall_vii(webSocketState.onError, instanceId, buffer);
+				} finally {
+					_free(buffer);
+				}
+			}
+
 			if (webSocketState.onClose)
 				Module.dynCall_vii(webSocketState.onClose, instanceId, ev.code);
 

--
Gitblit v1.8.0