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