yyl
2026-03-26 1ab047b5fdd933c38ba0519ec2e83a44512ea8d7
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();
    }