From 1ab047b5fdd933c38ba0519ec2e83a44512ea8d7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 17:46:11 +0800
Subject: [PATCH] webgl代码合并 1
---
Main/Core/NetworkPackage/Socket/ClientSocket.cs | 29 +++++++++++++++++++++++------
1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/Main/Core/NetworkPackage/Socket/ClientSocket.cs b/Main/Core/NetworkPackage/Socket/ClientSocket.cs
index 8c64874..12a16c2 100644
--- a/Main/Core/NetworkPackage/Socket/ClientSocket.cs
+++ b/Main/Core/NetworkPackage/Socket/ClientSocket.cs
@@ -60,6 +60,10 @@
Action<bool> onConnected = null;
Queue<byte[]> sendQueue = new Queue<byte[]>();
static byte[] vCmdBytes = new byte[2];
+#if UNITY_WEBGL
+ string webSocketUrl;
+ bool webSocketOpened;
+#endif
public ClientSocket(ServerType type)
{
@@ -437,13 +441,15 @@
ip = _ip;
port = _port;
onConnected = _onConnected;
-
- string url = $"ws://{_ip}:{_port}";
- Debug.Log($"[ClientSocket-WebSocket] 寮�濮嬭繛鎺�: {url}");
+
+ var scheme = Application.absoluteURL.StartsWith("https://", StringComparison.OrdinalIgnoreCase) ? "wss" : "ws";
+ webSocketUrl = $"{scheme}://{_ip}:{_port}";
+ webSocketOpened = false;
+ Debug.Log($"[ClientSocket-WebSocket] 寮�濮嬭繛鎺�: {webSocketUrl}, pageUrl={Application.absoluteURL}");
try
{
- webSocket = new WebSocket(url);
+ webSocket = new WebSocket(webSocketUrl);
// 娉ㄥ唽WebSocket鍥炶皟
webSocket.OnOpen += OnWebSocketOpen;
@@ -466,7 +472,8 @@
private void OnWebSocketOpen()
{
- Debug.Log("[ClientSocket-WebSocket] 杩炴帴鎴愬姛");
+ webSocketOpened = true;
+ Debug.Log($"[ClientSocket-WebSocket] 杩炴帴鎴愬姛: {webSocketUrl}");
m_LastPackageTime = DateTime.Now;
if (onConnected != null)
@@ -545,11 +552,21 @@
private void OnWebSocketError(string error)
{
Debug.LogError($"[ClientSocket-WebSocket] 閿欒: {error}");
+ if (!webSocketOpened && onConnected != null)
+ {
+ onConnected(false);
+ onConnected = null;
+ }
}
private void OnWebSocketClose(WebSocketCloseCode code)
{
- Debug.Log($"[ClientSocket-WebSocket] 杩炴帴鍏抽棴: {code}");
+ Debug.LogError($"[ClientSocket-WebSocket] 杩炴帴鍏抽棴: code={code}, url={webSocketUrl}, opened={webSocketOpened}");
+ if (!webSocketOpened && onConnected != null)
+ {
+ onConnected(false);
+ onConnected = null;
+ }
OnDisconnected?.Invoke();
}
--
Gitblit v1.8.0