Skip to content

WebSocket.onopen 方法在 iOS 不生效 #419

Open
@ddiu8081

Description

@ddiu8081

描述

前端参考 Hummer Websocket 文档示例代码,建立 Websocket 连接成功,send 方法可用,但 onOpen 方法始终无法收到回调。

Hummer version:

master branch

复现步骤

  1. 按样例代码连接 WS 服务器
  2. onopen 方法无法触发

预期结果

正常打印出 WebSocket onOpen 信息。

样例代码、屏幕截图或者仓库链接

const ws = new WebSocket('ws://x.x.x.x:8000');
ws.onopen = () => {
    console.log('WebSocket onOpen'); 
}

Activity

ddiu8081

ddiu8081 commented on Feb 14, 2023

@ddiu8081
Author

调试 iOS Hummer 代码发现,(void)webSocketDidOpen:(SRWebSocket *)webSocket 方法中只是执行了连接本身的一些操作,并没有去调用 self.onOpen

ScreenShot 2023-02-14 at 17 58 14

调试加上如下代码可解决:

self.onOpen ? self.onOpen(@[@{}]) : nil;
added a commit that references this issue on Feb 14, 2023
0ca8128
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @ddiu8081

      Issue actions

        WebSocket.onopen 方法在 iOS 不生效 · Issue #419 · didi/Hummer